\s*?<\/p>/m', '', $content); + $content = preg_replace('/
\s*?<\/p>/m', '', $content) ?? $content; - // Remove Multiline Breaks - //$content = preg_replace('/^\s+/m', '', $content); + $content = preg_replace('/\s+/Sm', ' ', $content) ?? $content; - // Replace multiple Whitespaces with one - $content = preg_replace('/\s+/Sm', ' ', $content); - - // Remove all Tags except p, br and headings $content = trim(strip_tags($content, '
'.$json['componentProps']['text'].'
'; } @@ -90,7 +75,6 @@ private function extractContentFromProperties(string $properties): string } } - // Handle other components that might have textual content if (isset($json['componentProps']['text'])) { $content .= ''.$json['componentProps']['text'].'
'; } @@ -104,17 +88,11 @@ private function extractContentFromProperties(string $properties): string return $content; } - /** - * {@inheritDoc} - */ public static function getFilter(): string { return 'g-platform-client-component, g-banner-advanced, g-navigation-sales'; } - /** - * {@inheritDoc} - */ public static function canParse(Crawler $page): array { $count = $page->filter(self::getFilter())->count(); diff --git a/app/Services/Parser/CommLink/Content/ContentExtractorFactory.php b/app/Services/Parser/CommLink/Content/ContentExtractorFactory.php index 5a58c61f6..e79aa615e 100644 --- a/app/Services/Parser/CommLink/Content/ContentExtractorFactory.php +++ b/app/Services/Parser/CommLink/Content/ContentExtractorFactory.php @@ -8,32 +8,23 @@ class ContentExtractorFactory { - /** - * @return ContentExtractorInterface|null The parser matching the most elements - */ public static function getParserFromCrawler(Crawler $crawler): ?ContentExtractorInterface { - return collect( - [ - DefaultExtractor::class, - LayoutSystemExtractor::class, - VueArticleExtractor::class, - GFeatureExtractor::class, - AlexandriaExtractor::class, - ] - ) - ->map( - function (string $parser) use ($crawler) { - return array_merge(call_user_func([$parser, 'canParse'], $crawler), [$parser]); - } - ) - ->filter(fn (array $res) => $res[0] === true) - ->sortByDesc('1') // Sort by count of matched items - ->map( - function (array $result) use ($crawler) { - return new $result[2]($crawler); - } - ) + return collect([ + DefaultExtractor::class, + LayoutSystemExtractor::class, + VueArticleExtractor::class, + GFeatureExtractor::class, + AlexandriaExtractor::class, + ]) + ->map(function (string $parser) use ($crawler): array { + return array_merge(call_user_func([$parser, 'canParse'], $crawler), [$parser]); + }) + ->filter(static fn (array $result) => $result[0] === true) + ->sortByDesc('1') + ->map(function (array $result) use ($crawler): ContentExtractorInterface { + return new $result[2]($crawler); + }) ->first(); } } diff --git a/app/Services/Parser/CommLink/Content/ContentExtractorInterface.php b/app/Services/Parser/CommLink/Content/ContentExtractorInterface.php index e19557a16..d29c582df 100644 --- a/app/Services/Parser/CommLink/Content/ContentExtractorInterface.php +++ b/app/Services/Parser/CommLink/Content/ContentExtractorInterface.php @@ -8,28 +8,14 @@ interface ContentExtractorInterface { - /** - * ContentParserInterface constructor. - * - * @param Crawler $page The page to parse - */ public function __construct(Crawler $page); - /** - * The raw HTML text content. - */ public function getContent(): string; - /** - * The filter used by the crawler, CSS Selector of XPath. - */ public static function getFilter(): string; /** - * Check if a parser can parse the page - * Usually checks if the element filter exists in the page. - * - * @return array Two element array containing a bool on position 0 and the number of matched elements on position 1 + * @return array{0: bool, 1: int} */ public static function canParse(Crawler $page): array; } diff --git a/app/Services/Parser/CommLink/Content/DefaultExtractor.php b/app/Services/Parser/CommLink/Content/DefaultExtractor.php index aeb56ed71..86625ff42 100644 --- a/app/Services/Parser/CommLink/Content/DefaultExtractor.php +++ b/app/Services/Parser/CommLink/Content/DefaultExtractor.php @@ -18,33 +18,22 @@ public function __construct(Crawler $page) $this->page = $page; } - /** - * {@inheritDoc} - */ public function getContent(): string { $content = $this->getIntroduction($this->page); - $this->page->filter(self::getFilter())->each( - function (Crawler $crawler) use (&$content) { - $content .= ltrim($crawler->html()); - } - ); + $this->page->filter(self::getFilter())->each(function (Crawler $crawler) use (&$content): void { + $content .= ltrim($crawler->html() ?? ''); + }); return $content; } - /** - * {@inheritDoc} - */ public static function getFilter(): string { return '.segment'; } - /** - * {@inheritDoc} - */ public static function canParse(Crawler $page): array { $count = $page->filter(self::getFilter())->count(); diff --git a/app/Services/Parser/CommLink/Content/GFeatureExtractor.php b/app/Services/Parser/CommLink/Content/GFeatureExtractor.php index edec7a767..cce4ea067 100644 --- a/app/Services/Parser/CommLink/Content/GFeatureExtractor.php +++ b/app/Services/Parser/CommLink/Content/GFeatureExtractor.php @@ -18,17 +18,14 @@ public function __construct(Crawler $page) $this->page = $page; } - /** - * {@inheritDoc} - */ public function getContent(): string { $content = $this->getIntroduction($this->page); - $extract = function (Crawler $crawler) use (&$content) { + $extract = function (Crawler $crawler) use (&$content): void { $this->getGFeaturesIntro($crawler, $content); - $crawler->filterXPath('//template')->each(function (Crawler $crawler) use (&$content) { + $crawler->filterXPath('//template')->each(function (Crawler $crawler) use (&$content): void { $slot = $crawler->attr('slot'); switch ($slot) { case 'title': @@ -49,23 +46,16 @@ public function getContent(): string }); }; - //$this->page->filterXPath('//g-features')->each($extract); $this->page->filterXPath('//g-feature')->each($extract); return $content; } - /** - * {@inheritDoc} - */ public static function getFilter(): string { return '//g-feature'; } - /** - * {@inheritDoc} - */ public static function canParse(Crawler $page): array { $count = $page->filterXPath(self::getFilter())->count(); @@ -76,13 +66,10 @@ public static function canParse(Crawler $page): array ]; } - /** - *%s
', $textContent['paragraph']); - } + if (! empty($textContent['subtitle'])) { + $out[] = sprintf('%s
', $textContent['paragraph']); } - ); + + $content .= collect($out)->implode("\n"); + }); return $content; } diff --git a/app/Services/Parser/CommLink/Content/Traits/GExploreExtractorTrait.php b/app/Services/Parser/CommLink/Content/Traits/GExploreExtractorTrait.php index 736cb274b..d23596fe0 100644 --- a/app/Services/Parser/CommLink/Content/Traits/GExploreExtractorTrait.php +++ b/app/Services/Parser/CommLink/Content/Traits/GExploreExtractorTrait.php @@ -9,45 +9,41 @@ trait GExploreExtractorTrait { - /** - * Extract%s
', $spot['boxContent']); - } + foreach ($explore as $side) { + if (! empty($side['title'] ?? null)) { + $out[] = sprintf('%s
', $spot['boxContent']); } } } - - $content .= collect($out)->implode("\n"); } - ); + + $content .= collect($out)->implode("\n"); + }); return $content; } diff --git a/app/Services/Parser/CommLink/Content/Traits/GGridExtractorTrait.php b/app/Services/Parser/CommLink/Content/Traits/GGridExtractorTrait.php index 140c8a761..57efccb70 100644 --- a/app/Services/Parser/CommLink/Content/Traits/GGridExtractorTrait.php +++ b/app/Services/Parser/CommLink/Content/Traits/GGridExtractorTrait.php @@ -9,53 +9,51 @@ trait GGridExtractorTrait { - /** - * Extract%s
', $card['summary']); - } + if (! empty($card['summary'] ?? null)) { + $out[] = sprintf('%s
', $card['summary']); + } + if (isset($card['description'])) { $out[] = sprintf('%s
', $card['description']); } + } - $content .= collect($out)->implode("\n"); + $content .= collect($out)->implode("\n"); - $crawler->filter('pre')->each(static function (Crawler $crawler) { - $node = $crawler->getNode(0); - if ($node !== null) { - $node->parentNode->removeChild($node); - } + $crawler->filter('pre')->each(static function (Crawler $crawler) { + $node = $crawler->getNode(0); + if ($node !== null) { + $node->parentNode?->removeChild($node); + } - return $crawler; - }); - } - ); + return $crawler; + }); + }); return $content; } diff --git a/app/Services/Parser/CommLink/Content/Traits/GIntroductionExtractorTrait.php b/app/Services/Parser/CommLink/Content/Traits/GIntroductionExtractorTrait.php index 2b4185196..ccc05a799 100644 --- a/app/Services/Parser/CommLink/Content/Traits/GIntroductionExtractorTrait.php +++ b/app/Services/Parser/CommLink/Content/Traits/GIntroductionExtractorTrait.php @@ -9,40 +9,35 @@ trait GIntroductionExtractorTrait { - /** - * Extract%s
', $feature['content']); - } + if (! empty($feature['title'] ?? null)) { + $string .= sprintf('%s
', $feature['content']); } - $content .= collect($out)->implode("\n"); + $out[] = $string; } - ); + + $content .= collect($out)->implode("\n"); + }); return $content; } diff --git a/app/Services/Parser/CommLink/Content/VueArticleExtractor.php b/app/Services/Parser/CommLink/Content/VueArticleExtractor.php index 5b36c657c..c3638e439 100644 --- a/app/Services/Parser/CommLink/Content/VueArticleExtractor.php +++ b/app/Services/Parser/CommLink/Content/VueArticleExtractor.php @@ -18,9 +18,6 @@ public function __construct(Crawler $page) $this->page = $page; } - /** - * {@inheritDoc} - */ public function getContent(bool $withIntroduction = true): string { $content = ''; @@ -29,37 +26,25 @@ public function getContent(bool $withIntroduction = true): string $content = $this->getIntroduction($this->page); } - $this->page->filterXPath(self::getFilter())->each( - function (Crawler $crawler) use (&$content) { - $data = []; - $data[] = $crawler->attr('headline'); - $data[] = $crawler->attr('byline'); - $data[] = $crawler->attr('body'); + $this->page->filterXPath(self::getFilter())->each(function (Crawler $crawler) use (&$content): void { + $data = []; + $data[] = $crawler->attr('headline'); + $data[] = $crawler->attr('byline'); + $data[] = $crawler->attr('body'); - $content .= ltrim( - collect($data)->filter( - function ($data) { - return $data !== null; - } - )->implode('(.*?)<\/pre>/s', $response, $template)) {
- $template = $template[1];
- }
-
- if (preg_match('/(.*?)<\/pre>/s', $response, $cleanCategory)) {
- $cleanCategory = $cleanCategory[1];
- }
-
- return [
- 'template' => $template,
- 'category' => $cleanCategory,
- ];
- }
-}
diff --git a/app/Traits/Jobs/GetFoldersTrait.php b/app/Traits/Jobs/GetFoldersTrait.php
deleted file mode 100644
index 9f51fbb27..000000000
--- a/app/Traits/Jobs/GetFoldersTrait.php
+++ /dev/null
@@ -1,37 +0,0 @@
-subMinutes($findTimeMinutes);
-
- return collect(Storage::disk($disk)->directories())
- ->filter(
- function (string $dir) use ($disk, $now, $findTimeMinutes) {
- $mTime = Carbon::createFromTimestamp(File::lastModified(Storage::disk($disk)->path($dir)));
-
- if ($findTimeMinutes === -1) {
- return true;
- }
-
- return $mTime->greaterThanOrEqualTo($now);
- }
- );
- }
-}
diff --git a/app/Traits/Jobs/ShipMatrix/GetNewestShipMatrixFilenameTrait.php b/app/Traits/Jobs/ShipMatrix/GetNewestShipMatrixFilenameTrait.php
deleted file mode 100644
index e5c5f8e97..000000000
--- a/app/Traits/Jobs/ShipMatrix/GetNewestShipMatrixFilenameTrait.php
+++ /dev/null
@@ -1,38 +0,0 @@
-directories()));
-
- if ($newestShipMatrixDir === null) {
- throw new RuntimeException('No Shipmatrix directories found');
- }
-
- $file = Arr::last(Arr::sort(Storage::disk('vehicles')->files($newestShipMatrixDir)));
-
- if ($file !== null && Str::contains($file, 'shipmatrix')) {
- return $file;
- }
-
- app('Log')::error('No Shipmatrix File on Disk \'vehicles\' found');
-
- throw new RuntimeException('No Shipmatrix File on Disk \'vehicles\' found');
- }
-}
diff --git a/app/Traits/LoginWikiBotAccountTrait.php b/app/Traits/LoginWikiBotAccountTrait.php
deleted file mode 100644
index 95afd9a3b..000000000
--- a/app/Traits/LoginWikiBotAccountTrait.php
+++ /dev/null
@@ -1,30 +0,0 @@
-setConsumerFromCredentials(
- (string) config(sprintf('%s.consumer_token', $prefix)),
- (string) config(sprintf('%s.consumer_secret', $prefix))
- );
- $manager->setTokenFromCredentials(
- (string) config(sprintf('%s.access_token', $prefix)),
- (string) config(sprintf('%s.access_secret', $prefix))
- );
- }
-}
diff --git a/app/Traits/LoginWikiUserAccountTrait.php b/app/Traits/LoginWikiUserAccountTrait.php
deleted file mode 100644
index b1f9144b7..000000000
--- a/app/Traits/LoginWikiUserAccountTrait.php
+++ /dev/null
@@ -1,38 +0,0 @@
-getToken();
-
- $manager->setConsumerFromCredentials(
- config('services.mediawiki.client_id'),
- config('services.mediawiki.client_secret')
- );
- $manager->setTokenFromCredentials(
- $userToken->key,
- $userToken->secret,
- );
- }
-}
diff --git a/app/Transformers/Api/LocalizableTransformerInterface.php b/app/Transformers/Api/LocalizableTransformerInterface.php
deleted file mode 100644
index 18478ba58..000000000
--- a/app/Transformers/Api/LocalizableTransformerInterface.php
+++ /dev/null
@@ -1,15 +0,0 @@
-...
- */
-abstract class AbstractV1Transformer extends TransformerAbstract
-{
- public const COMM_LINKS_SHOW = '/api/comm-links/%d';
-
- public const COMM_LINKS_SERIES_SHOW = '/api/comm-links/series/%s';
-
- public const COMM_LINKS_CHANNELS_SHOW = '/api/comm-links/channels/%s';
-
- public const COMM_LINKS_CATEGORIES_SHOW = '/api/comm-links/categories/%s';
-
- public const VEHICLES_SHOW = '/api/vehicles/%s';
-
- public const STARMAP_STARSYSTEM_SHOW = '/api/starmap/starsystems/%s';
-
- public const STARMAP_CELESTIAL_OBJECTS_SHOW = '/api/starmap/celestial-objects/%s';
-
- public const GALACTAPEDIA_ARTICLE_SHOW = '/api/galactapedia/%s';
-
- public const UNPACKED_CHAR_ARMOR_SHOW = '/api/char/armor/%s';
-
- public const UNPACKED_WEAPON_PERSONAL_SHOW = '/api/weapons/personal/%s';
-
- public const UNPACKED_CLOTHING_SHOW = '/api/char/clothing/%s';
-
- public const UNPACKED_FOOD_SHOW = '/api/food/%s';
-
- public function includeAllAvailableIncludes(): void
- {
- $this->setDefaultIncludes($this->getAvailableIncludes());
- }
-
- /**
- * Formats the fragment and returns an absolute api url
- *
- * @param mixed ...$routeKey
- */
- protected function makeApiUrl(string $fragment, ...$routeKey): string
- {
- return sprintf('%s'.$fragment, config('app.url'), ...$routeKey);
- }
-
- /**
- * Instantiates a new transformer and sets the $bases locale if both transformers implement
- * LocalizableTransformerInterface
- *
- *
- * @throws Throwable
- */
- protected function makeTransformer(string $class, ?TransformerAbstract $base = null): TransformerAbstract
- {
- throw_if(! class_exists($class), new RuntimeException("Class $class not found."));
-
- $transformer = app($class);
-
- //phpcs:ignore PSR12.ControlStructures.ControlStructureSpacing.FirstExpressionLine
- if ($base !== null
- && $transformer instanceof LocalizableTransformerInterface
- && $base instanceof LocalizableTransformerInterface
- && $base->getLocale() !== null
- ) {
- $transformer->setLocale($base->getLocale());
- }
-
- return $transformer;
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/Category/CategoryTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/Category/CategoryTransformer.php
deleted file mode 100644
index ea7efb784..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/Category/CategoryTransformer.php
+++ /dev/null
@@ -1,32 +0,0 @@
- $category->name,
- 'slug' => $category->slug,
- 'api_url' => $this->makeApiUrl(self::COMM_LINKS_CATEGORIES_SHOW, $category->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/Channel/ChannelTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/Channel/ChannelTransformer.php
deleted file mode 100644
index a61aef8ee..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/Channel/ChannelTransformer.php
+++ /dev/null
@@ -1,34 +0,0 @@
- 'mixed', 'slug' => 'mixed', 'api_url' => 'string'])]
- public function transform(Channel $channel): array
- {
- return [
- 'name' => $channel->name,
- 'slug' => $channel->slug,
- 'api_url' => $this->makeApiUrl(self::COMM_LINKS_CHANNELS_SHOW, $channel->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/CommLinkLinkTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/CommLinkLinkTransformer.php
deleted file mode 100644
index 9ac1704f6..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/CommLinkLinkTransformer.php
+++ /dev/null
@@ -1,28 +0,0 @@
- $this->makeApiUrl(self::COMM_LINKS_SHOW, $commLink->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/CommLinkTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/CommLinkTransformer.php
deleted file mode 100644
index 8b37cef3f..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/CommLinkTransformer.php
+++ /dev/null
@@ -1,156 +0,0 @@
- $commLink->cig_id,
- 'title' => $commLink->title,
- 'rsi_url' => $this->getCommLinkUrl($commLink),
- 'api_url' => $this->makeApiUrl(self::COMM_LINKS_SHOW, $commLink->getRouteKey()),
- 'api_public_url' => route('web.comm-links.show', $commLink->getRouteKey()),
- 'channel' => $commLink->channel->name,
- 'category' => $commLink->category->name,
- 'series' => $commLink->series->name,
- 'images' => $commLink->images_count,
- 'links' => $commLink->links_count,
- 'comment_count' => $commLink->comment_count,
- 'created_at' => $commLink->created_at,
- ];
- }
-
- /**
- * If no URL is set a default url will be returned
- */
- private function getCommLinkUrl(CommLink $commLink): string
- {
- return sprintf('%s%s', config('api.rsi_url'), ($commLink->url ?? "/comm-link/SCW/{$commLink->cig_id}-API"));
- }
-
- public function includeImages(CommLink $commLink): Collection
- {
- $images = $commLink->images;
-
- return $this->collection($images, new ImageTransformer);
- }
-
- public function includeLinks(CommLink $commLink): Collection
- {
- $links = $commLink->links;
-
- return $this->collection($links, new LinkTransformer);
- }
-
- public function includeEnglish(CommLink $commLink): Item
- {
- $translation = $commLink->english();
-
- return $this->item($translation, new TranslationTransformer);
- }
-
- public function includeGerman(CommLink $commLink): Item
- {
- //$translation = $commLink->german();
- $translation = null; // Disable this for now
-
- return $this->item($translation, new TranslationTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/Image/ImageHashTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/Image/ImageHashTransformer.php
deleted file mode 100644
index ae406efd8..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/Image/ImageHashTransformer.php
+++ /dev/null
@@ -1,38 +0,0 @@
-similarity)) {
- $data['similarity'] = $image->similarity;
- }
-
- return $data;
- }
-
- public function includeCommLinks(Image $image): Collection
- {
- $links = $image->commLinks;
-
- return $this->collection($links, new CommLinkLinkTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/Image/ImageTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/Image/ImageTransformer.php
deleted file mode 100644
index 57a4ea288..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/Image/ImageTransformer.php
+++ /dev/null
@@ -1,71 +0,0 @@
- $image->url,
- 'api_url' => $image->local ? asset("storage/comm_link_images/{$image->dir}/{$image->name}") : null,
- 'alt' => $image->alt,
- 'size' => $image->metadata->size,
- 'mime_type' => $image->metadata->mime,
- 'last_modified' => $image->metadata->last_modified,
- ];
- }
-
- public function includeHashes(Image $image): Primitive
- {
- return $this->primitive(
- [
- 'perceptual_hash' => $image->hash->perceptual_hash,
- 'difference_hash' => $image->hash->difference_hash,
- 'average_hash' => $image->hash->average_hash,
- ]
- );
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/Link/LinkTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/Link/LinkTransformer.php
deleted file mode 100644
index 691a3f535..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/Link/LinkTransformer.php
+++ /dev/null
@@ -1,30 +0,0 @@
- $link->href,
- 'text' => $link->text,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/Series/SeriesTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/Series/SeriesTransformer.php
deleted file mode 100644
index abd103e39..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/Series/SeriesTransformer.php
+++ /dev/null
@@ -1,32 +0,0 @@
- $series->name,
- 'slug' => $series->slug,
- 'api_url' => $this->makeApiUrl(self::COMM_LINKS_SERIES_SHOW, $series->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/CommLink/Translation/TranslationTransformer.php b/app/Transformers/Api/V1/Rsi/CommLink/Translation/TranslationTransformer.php
deleted file mode 100644
index 2e90c6e9b..000000000
--- a/app/Transformers/Api/V1/Rsi/CommLink/Translation/TranslationTransformer.php
+++ /dev/null
@@ -1,34 +0,0 @@
- $translation->locale_code,
- 'translation' => $translation->translation,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/Transcript/TranscriptTransformer.php b/app/Transformers/Api/V1/Rsi/Transcript/TranscriptTransformer.php
deleted file mode 100644
index dca15b44e..000000000
--- a/app/Transformers/Api/V1/Rsi/Transcript/TranscriptTransformer.php
+++ /dev/null
@@ -1,50 +0,0 @@
- $transcript->title,
- 'youtube_id' => $transcript->youtube_id,
- 'youtube_url' => $transcript->youtube_url,
- 'playlist_name' => $transcript->playlist_name,
- 'upload_date' => $transcript->upload_date->format('Y-m-d'),
- 'runtime' => $transcript->runtime,
- 'runtime_formatted' => gmdate('H:i:s', $transcript->runtime),
- 'thumbnail' => $transcript->thumbnail,
- 'description' => $transcript->youtube_description,
- ];
- }
-
- public function includeEnglish(Transcript $commLink): Item
- {
- $translation = $commLink->english();
-
- return $this->item($translation, new TranslationTransformer);
- }
-
- public function includeGerman(Transcript $commLink): Item
- {
- //$translation = $commLink->german();
- $translation = null; // Disable this for now
-
- return $this->item($translation, new TranslationTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/Rsi/Transcript/TranslationTransformer.php b/app/Transformers/Api/V1/Rsi/Transcript/TranslationTransformer.php
deleted file mode 100644
index 6dab3b6f7..000000000
--- a/app/Transformers/Api/V1/Rsi/Transcript/TranslationTransformer.php
+++ /dev/null
@@ -1,23 +0,0 @@
- $translation->locale_code,
- 'translation' => $translation->translation,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/AbstractTranslationTransformer.php b/app/Transformers/Api/V1/StarCitizen/AbstractTranslationTransformer.php
deleted file mode 100644
index 39339e53b..000000000
--- a/app/Transformers/Api/V1/StarCitizen/AbstractTranslationTransformer.php
+++ /dev/null
@@ -1,148 +0,0 @@
-localeCode = $localeCode;
- }
-
- public function getLocale(): ?string
- {
- return $this->localeCode;
- }
-
- /**
- * If a valid locale code is set this function will return the corresponding translation or use english as a
- * fallback
- *
- *
- * @param string|array $translationKey
- * @return array|string the Translation
- */
- protected function getTranslation(HasTranslations $model, $translationKey = 'translation')
- {
- $translations = $model->translationsCollection();
-
- if (isset($this->localeCode)) {
- return $this->getSingleTranslation(
- $translations[$this->localeCode] ?? 'en_EN',
- $translationKey,
- $model,
- $translations
- );
- }
-
- $data = $translations->map(
- function ($translation) use ($translationKey, $model, $translations) {
- return $this->getSingleTranslation($translation, $translationKey, $model, $translations);
- }
- )->filter(
- function ($translations) {
- return ! empty($translations);
- }
- );
-
- // Ugly
- // Maps translations to translationKey = [en_EN => '', de_DE => '']
- if (is_array($translationKey)) {
- $return = [];
-
- $data->each(
- function ($translations, $localeCode) use (&$return) {
- foreach ($translations as $translationKey => $translation) {
- if (! isset($return[$translationKey])) {
- $return[$translationKey] = [];
- }
-
- $return[$translationKey][$localeCode] = $translation;
- }
- }
- );
-
- return $return;
- }
-
- return $data->toArray();
- }
-
- /**
- * Get a singular translation by key
- * Returns english fallback is key is unavailable
- *
- * @param Language|AbstractTranslation $translation
- * @param string|array $translationKey
- * @return array|mixed
- */
- private function getSingleTranslation(
- $translation,
- $translationKey,
- HasTranslations $model,
- Collection $translations
- ) {
- $inArray = in_array($translation->locale_code, $this->missingTranslations, true);
-
- if ($translation instanceof Language && ! $inArray) {
- $this->addMissingTranslation($translation->locale_code);
- }
-
- if (is_array($translationKey)) {
- $translationData = [];
-
- foreach ($translationKey as $key) {
- $translationData[$key] = $this->getSingleTranslation($translation, $key, $model, $translations);
- }
-
- return $translationData;
- }
-
- if (! isset($translation[$translationKey])) {
- $this->addMissingTranslation($model->getRouteKey());
-
- return $translations['en_EN'][$translationKey];
- }
-
- return $translation[$translationKey];
- }
-
- /**
- * Adds a missing translation key to the array if it does not already exist
- *
- * @param string|int $key The key to add
- */
- private function addMissingTranslation($key): void
- {
- if (! in_array($key, $this->missingTranslations, true)) {
- $this->missingTranslations[] = $key;
- }
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Galactapedia/ArticleTransformer.php b/app/Transformers/Api/V1/StarCitizen/Galactapedia/ArticleTransformer.php
deleted file mode 100644
index 972a237b3..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Galactapedia/ArticleTransformer.php
+++ /dev/null
@@ -1,177 +0,0 @@
- $article->cig_id,
- 'title' => $article->title,
- 'slug' => $article->slug,
- 'thumbnail' => $article->thumbnail,
- 'type' => $article->templates->isEmpty() ? null : $article->templates[0]->template,
- 'rsi_url' => $article->url,
- 'api_url' => $this->makeApiUrl(
- self::GALACTAPEDIA_ARTICLE_SHOW,
- $article->getRouteKey(),
- ),
- 'created_at' => $article->created_at,
- ];
- }
-
- public function includeCategories(Article $article): Collection
- {
- return $this->collection($article->categories, new CategoryTransformer);
- }
-
- public function includeTags(Article $article): Collection
- {
- return $this->collection($article->tags, new TagTransformer);
- }
-
- public function includeProperties(Article $article): Collection
- {
- return $this->collection($article->properties, new PropertyTransformer);
- }
-
- public function includeRelatedArticles(Article $article): Collection
- {
- return $this->collection($article->related, new RelatedArticleTransformer);
- }
-
- public function includeEnglish(Article $article): Item
- {
- $translation = $article->english();
-
- return $this->item($translation, new TranslationTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Galactapedia/CategoryTransformer.php b/app/Transformers/Api/V1/StarCitizen/Galactapedia/CategoryTransformer.php
deleted file mode 100644
index 22d457d7f..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Galactapedia/CategoryTransformer.php
+++ /dev/null
@@ -1,30 +0,0 @@
- $category->cig_id,
- 'name' => $category->name,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Galactapedia/PropertyTransformer.php b/app/Transformers/Api/V1/StarCitizen/Galactapedia/PropertyTransformer.php
deleted file mode 100644
index 1399a30c6..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Galactapedia/PropertyTransformer.php
+++ /dev/null
@@ -1,30 +0,0 @@
- $property->name,
- 'value' => $property->content,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Galactapedia/RelatedArticleTransformer.php b/app/Transformers/Api/V1/StarCitizen/Galactapedia/RelatedArticleTransformer.php
deleted file mode 100644
index 1e9ada867..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Galactapedia/RelatedArticleTransformer.php
+++ /dev/null
@@ -1,37 +0,0 @@
- $article->cig_id,
- 'title' => $article->title,
- 'url' => $article->url,
- 'api_url' => $this->makeApiUrl(
- self::GALACTAPEDIA_ARTICLE_SHOW,
- $article->getRouteKey(),
- ),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Galactapedia/TagTransformer.php b/app/Transformers/Api/V1/StarCitizen/Galactapedia/TagTransformer.php
deleted file mode 100644
index daed207a3..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Galactapedia/TagTransformer.php
+++ /dev/null
@@ -1,30 +0,0 @@
- $tag->cig_id,
- 'name' => $tag->name,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Galactapedia/TranslationTransformer.php b/app/Transformers/Api/V1/StarCitizen/Galactapedia/TranslationTransformer.php
deleted file mode 100644
index 0e692f458..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Galactapedia/TranslationTransformer.php
+++ /dev/null
@@ -1,34 +0,0 @@
- $translation->locale_code,
- 'translation' => $translation->translation,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Manufacturer/ManufacturerTransformer.php b/app/Transformers/Api/V1/StarCitizen/Manufacturer/ManufacturerTransformer.php
deleted file mode 100644
index 485dccf05..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Manufacturer/ManufacturerTransformer.php
+++ /dev/null
@@ -1,105 +0,0 @@
-missingTranslations = [];
- $translations = $this->getTranslation($manufacturer);
-
- return [
- 'code' => $manufacturer->name_short,
- 'name' => $manufacturer->name,
- 'known_for' => $translations['known_for'],
- 'description' => $translations['description'],
- 'missing_translations' => $this->missingTranslations,
- ];
- }
-
- /**
- * If a valid locale code is set this function will return the corresponding translation or use english as a
- * fallback
- *
- *
- * @param string $translationKey
- * @return array|string the Translation
- */
- protected function getTranslation(HasTranslations $model, $translationKey = 'translation')
- {
- return parent::getTranslation($model, ['known_for', 'description']);
- }
-
- public function includeShips(Manufacturer $manufacturer): Collection
- {
- return $this->collection($manufacturer->ships, new VehicleLinkTransformer);
- }
-
- public function includeVehicles(Manufacturer $manufacturer): Collection
- {
- return $this->collection($manufacturer->vehicles, new VehicleLinkTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Starmap/AffiliationTransformer.php b/app/Transformers/Api/V1/StarCitizen/Starmap/AffiliationTransformer.php
deleted file mode 100644
index e4f813721..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Starmap/AffiliationTransformer.php
+++ /dev/null
@@ -1,21 +0,0 @@
- $affiliation->cig_id,
- 'name' => $affiliation->name,
- 'code' => $affiliation->code,
- 'color' => $affiliation->color,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Starmap/CelestialObjectTransformer.php b/app/Transformers/Api/V1/StarCitizen/Starmap/CelestialObjectTransformer.php
deleted file mode 100644
index c9c6f3fb3..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Starmap/CelestialObjectTransformer.php
+++ /dev/null
@@ -1,142 +0,0 @@
- $celestialObject->cig_id,
- 'code' => $celestialObject->code,
- 'system_id' => $celestialObject->starsystem_id,
- 'celestial_object_api_url' => $this->makeApiUrl(
- self::STARMAP_CELESTIAL_OBJECTS_SHOW,
- $celestialObject->code
- ),
- 'name' => $celestialObject->name,
- 'type' => $celestialObject->type,
-
- 'age' => $celestialObject->age,
- 'habitable' => $celestialObject->habitable,
- 'fairchanceact' => $celestialObject->fairchanceact,
-
- 'appearance' => $celestialObject->appearance,
- 'designation' => $celestialObject->designation,
- 'distance' => $celestialObject->distance,
- 'latitude' => $celestialObject->latitude,
- 'longitude' => $celestialObject->longitude,
- 'axial_tilt' => $celestialObject->axial_tilt,
- 'orbit_period' => $celestialObject->orbit_period,
-
- 'info_url' => $celestialObject->info_url,
-
- 'description' => $this->getTranslation($celestialObject),
-
- 'sensor' => [
- 'population' => $celestialObject->sensor_population,
- 'economy' => $celestialObject->sensor_economy,
- 'danger' => $celestialObject->sensor_danger,
- ],
-
- 'size' => $celestialObject->size,
-
- 'parent_id' => $celestialObject->parent_id,
-
- 'time_modified' => $celestialObject->time_modified,
- ];
- }
-
- /**
- * Celestial Object affiliation, included by default
- */
- public function includeAffiliation(CelestialObject $celestialObject): Collection
- {
- return $this->collection($celestialObject->affiliation, new AffiliationTransformer, 'affiliation');
- }
-
- /**
- * Celestial object subtype, included by default
- */
- public function includeSubtype(CelestialObject $celestialObject): Item
- {
- return $this->item($celestialObject->subtype, new SubtypeTransformer, 'subtype');
- }
-
- /**
- * The objects star system
- */
- public function includeStarsystem(CelestialObject $celestialObject): Item
- {
- return $this->item(
- $celestialObject->starsystem,
- $this->makeTransformer(StarsystemTransformer::class, $this),
- 'starsystem'
- );
- }
-
- /**
- * @return Item|void
- */
- public function includeJumppoint(CelestialObject $celestialObject)
- {
- if ($celestialObject->jumppoint() !== null) {
- return $this->item($celestialObject->jumppoint(), new JumppointTransformer);
- }
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Starmap/JumppointTransformer.php b/app/Transformers/Api/V1/StarCitizen/Starmap/JumppointTransformer.php
deleted file mode 100644
index 91ba71777..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Starmap/JumppointTransformer.php
+++ /dev/null
@@ -1,115 +0,0 @@
- $jumppoint->cig_id,
- 'size' => $jumppoint->size,
- 'direction' => $jumppoint->direction,
- 'entry' => [
- 'id' => $jumppoint->entry->cig_id,
- 'system_id' => $jumppoint->entry->starsystem_id,
- 'system_api_url' => $this->makeApiUrl(
- self::STARMAP_STARSYSTEM_SHOW,
- $jumppoint->entry->starsystem_id
- ),
- 'celestial_object_api_url' => $this->makeApiUrl(
- self::STARMAP_CELESTIAL_OBJECTS_SHOW,
- $jumppoint->entry->code
- ),
- 'status' => $jumppoint->entry_status,
- 'code' => $jumppoint->entry->code,
- 'designation' => $jumppoint->entry->designation,
- ],
- 'exit' => [
- 'id' => $jumppoint->exit->cig_id,
- 'system_id' => $jumppoint->exit->starsystem_id,
- 'system_api_url' => $this->makeApiUrl(
- self::STARMAP_STARSYSTEM_SHOW,
- $jumppoint->exit->starsystem_id
- ),
- 'celestial_object_api_url' => $this->makeApiUrl(
- self::STARMAP_CELESTIAL_OBJECTS_SHOW,
- $jumppoint->exit->code
- ),
- 'status' => $jumppoint->exit_status,
- 'code' => $jumppoint->exit->code,
- 'designation' => $jumppoint->exit->designation,
- ],
- ];
- }
-
- /**
- * The celestial object of the jump point entry
- *
- *
- * @throws Throwable
- */
- public function includeCelestialObjectEntry(Jumppoint $jumppoint): Item
- {
- return $this->item($jumppoint->entry, $this->makeTransformer(CelestialObjectTransformer::class, $this));
- }
-
- /**
- * The celestial object of the jump point exit
- *
- *
- * @throws Throwable
- */
- public function includeCelestialObjectExit(Jumppoint $jumppoint): Item
- {
- return $this->item($jumppoint->exit, $this->makeTransformer(CelestialObjectTransformer::class, $this));
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Starmap/StarsystemLinkTransformer.php b/app/Transformers/Api/V1/StarCitizen/Starmap/StarsystemLinkTransformer.php
deleted file mode 100644
index 71a09edfb..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Starmap/StarsystemLinkTransformer.php
+++ /dev/null
@@ -1,32 +0,0 @@
- $starsystem->name,
- 'code' => $starsystem->code,
- 'api_url' => $this->makeApiUrl(self::STARMAP_STARSYSTEM_SHOW, $starsystem->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Starmap/StarsystemTransformer.php b/app/Transformers/Api/V1/StarCitizen/Starmap/StarsystemTransformer.php
deleted file mode 100644
index 05f98acd1..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Starmap/StarsystemTransformer.php
+++ /dev/null
@@ -1,172 +0,0 @@
- $starsystem->cig_id,
- 'code' => $starsystem->code,
- 'system_api_url' => $this->makeApiUrl(self::STARMAP_STARSYSTEM_SHOW, $starsystem->code),
- 'name' => $starsystem->name,
- 'status' => $starsystem->status,
- 'type' => $starsystem->type,
-
- 'position' => [
- 'x' => $starsystem->position_x,
- 'y' => $starsystem->position_y,
- 'z' => $starsystem->position_z,
- ],
-
- 'frost_line' => $starsystem->frost_line,
- 'habitable_zone_inner' => $starsystem->habitable_zone_inner,
- 'habitable_zone_outer' => $starsystem->habitable_zone_outer,
-
- 'info_url' => $starsystem->info_url,
-
- 'description' => $this->getTranslation($starsystem),
-
- 'aggregated' => [
- 'size' => $starsystem->aggregated_size,
- 'population' => $starsystem->aggregated_population,
- 'economy' => $starsystem->aggregated_economy,
- 'danger' => $starsystem->aggregated_danger,
-
- 'stars' => $starsystem->stars_count,
- 'planets' => $starsystem->planets_count,
- 'moons' => $starsystem->moons_count,
- 'stations' => $starsystem->stations_count,
- ],
-
- 'updated_at' => $starsystem->time_modified,
- ];
- }
-
- /**
- * Starsystem affiliation, included by default
- */
- public function includeAffiliation(Starsystem $starsystem): Collection
- {
- return $this->collection($starsystem->affiliation, new AffiliationTransformer, 'affiliation');
- }
-
- /**
- * System celestial objcets like planets, jumppoints, asteroid belts, ...
- */
- public function includeCelestialObjects(Starsystem $starsystem): Collection
- {
- return $this->collection(
- $starsystem->celestialObjects,
- $this->makeTransformer(CelestialObjectTransformer::class, $this),
- 'celestial_object'
- );
- }
-
- /**
- * Jump points starting in this system
- */
- public function includeJumppoints(Starsystem $starsystem): Collection
- {
- return $this->collection($starsystem->jumppoints(), new JumppointTransformer, 'jumppoint');
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Starmap/SubtypeTransformer.php b/app/Transformers/Api/V1/StarCitizen/Starmap/SubtypeTransformer.php
deleted file mode 100644
index 6b36425e0..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Starmap/SubtypeTransformer.php
+++ /dev/null
@@ -1,35 +0,0 @@
- $subtype->id,
- 'name' => $subtype->name,
- 'type' => $subtype->type,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Stat/StatTransformer.php b/app/Transformers/Api/V1/StarCitizen/Stat/StatTransformer.php
deleted file mode 100644
index b5c1308d0..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Stat/StatTransformer.php
+++ /dev/null
@@ -1,34 +0,0 @@
- $stat->funds,
- 'fans' => $stat->fans,
- 'fleet' => $stat->fleet,
- 'timestamp' => optional($stat)->created_at,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Vehicle/ComponentTransformer.php b/app/Transformers/Api/V1/StarCitizen/Vehicle/ComponentTransformer.php
deleted file mode 100644
index 769f72a27..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Vehicle/ComponentTransformer.php
+++ /dev/null
@@ -1,46 +0,0 @@
- $component->type,
- 'name' => $component->name,
- 'mounts' => $component->pivot->mounts,
- 'component_size' => $component->component_size,
- 'category' => $component->category,
- 'size' => $component->pivot->size,
- 'details' => $component->pivot->details,
- 'quantity' => $component->pivot->quantity,
- 'manufacturer' => $component->manufacturer,
- 'component_class' => $component->component_class,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Vehicle/VehicleLinkTransformer.php b/app/Transformers/Api/V1/StarCitizen/Vehicle/VehicleLinkTransformer.php
deleted file mode 100644
index 77f5066db..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Vehicle/VehicleLinkTransformer.php
+++ /dev/null
@@ -1,35 +0,0 @@
- $vehicle->name,
- 'slug' => $vehicle->slug,
- 'api_url' => $this->makeApiUrl(self::VEHICLES_SHOW, $vehicle->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizen/Vehicle/VehicleTransformer.php b/app/Transformers/Api/V1/StarCitizen/Vehicle/VehicleTransformer.php
deleted file mode 100644
index eb3485ab2..000000000
--- a/app/Transformers/Api/V1/StarCitizen/Vehicle/VehicleTransformer.php
+++ /dev/null
@@ -1,393 +0,0 @@
-missingTranslations = [];
-
- $cargo = $vehicle->unpacked->scu ?? $vehicle->cargo_capacity;
- if ($vehicle->unpacked->SCU > 0) {
- $cargo = $vehicle->unpacked->scu;
- }
-
- $data = [
- 'id' => $vehicle->cig_id,
- 'uuid' => $vehicle->unpacked->uuid,
- 'chassis_id' => $vehicle->chassis_id,
- 'name' => $vehicle->name,
- 'slug' => $vehicle->slug,
- 'sizes' => [
- 'length' => (float) $vehicle->length,
- 'beam' => (float) $vehicle->width,
- 'height' => (float) $vehicle->height,
- ],
- 'mass' => $vehicle->unpacked->mass ?? $vehicle->mass,
- 'cargo_capacity' => $cargo,
- 'personal_inventory_capacity' => $vehicle->unpacked->personal_inventory_scu ?? null,
- 'crew' => [
- 'min' => $vehicle->unpacked->crew ?? $vehicle->min_crew,
- 'max' => $vehicle->max_crew,
- 'weapon' => $vehicle->unpacked->weapon_crew ?? 0,
- 'operation' => $vehicle->unpacked->operation_crew ?? 0,
- ],
- 'health' => $vehicle->unpacked->health ?? 0,
- 'speed' => [
- 'scm' => $vehicle->unpacked->scm_speed ?? $vehicle->scm_speed,
- 'afterburner' => $vehicle->afterburner_speed,
- 'max' => $vehicle->unpacked->max_speed ?? 0,
- 'zero_to_scm' => $vehicle->unpacked->zero_to_scm ?? 0,
- 'zero_to_max' => $vehicle->unpacked->zero_to_max ?? 0,
- 'scm_to_zero' => $vehicle->unpacked->scm_to_zero ?? 0,
- 'max_to_zero' => $vehicle->unpacked->max_to_zero ?? 0,
- ],
- 'fuel' => [
- 'capacity' => $vehicle->unpacked->fuel_capacity ?? 0,
- 'intake_rate' => $vehicle->unpacked->fuel_intake_rate ?? 0,
- 'usage' => [
- 'main' => $vehicle->unpacked->fuel_usage_main ?? 0,
- 'retro' => $vehicle->unpacked->fuel_usage_retro ?? 0,
- 'vtol' => $vehicle->unpacked->fuel_usage_vtol ?? 0,
- 'maneuvering' => $vehicle->unpacked->fuel_usage_maneuvering ?? 0,
- ],
- ],
- 'quantum' => [
- 'quantum_speed' => $vehicle->unpacked->quantum_speed ?? 0,
- 'quantum_spool_time' => $vehicle->unpacked->quantum_spool_time ?? 0,
- 'quantum_fuel_capacity' => $vehicle->unpacked->quantum_fuel_capacity ?? 0,
- 'quantum_range' => $vehicle->unpacked->quantum_range ?? 0,
- ],
- 'agility' => [
- 'pitch' => $vehicle->unpacked->pitch ?? $vehicle->pitch_max,
- 'yaw' => $vehicle->unpacked->yaw ?? $vehicle->yaw_max,
- 'roll' => $vehicle->unpacked->roll ?? $vehicle->roll_max,
- 'acceleration' => [
- 'x_axis' => $vehicle->x_axis_acceleration,
- 'y_axis' => $vehicle->y_axis_acceleration,
- 'z_axis' => $vehicle->z_axis_acceleration,
-
- 'main' => $vehicle->unpacked->acceleration_main ?? 0,
- 'retro' => $vehicle->unpacked->acceleration_retro ?? 0,
- 'vtol' => $vehicle->unpacked->acceleration_vtol ?? 0,
- 'maneuvering' => $vehicle->unpacked->acceleration_maneuvering ?? 0,
-
- 'main_g' => $vehicle->unpacked->acceleration_g_main ?? 0,
- 'retro_g' => $vehicle->unpacked->acceleration_g_retro ?? 0,
- 'vtol_g' => $vehicle->unpacked->acceleration_g_vtol ?? 0,
- 'maneuvering_g' => $vehicle->unpacked->acceleration_g_maneuvering ?? 0,
- ],
- ],
- 'foci' => $this->getFociTranslations($vehicle),
- 'production_status' => $this->getProductionStatusTranslations($vehicle),
- 'production_note' => $this->getProductionNoteTranslations($vehicle),
- 'type' => $this->getTypeTranslations($vehicle),
- 'description' => $this->getDescriptionTranslations($vehicle),
- 'size' => $this->getSizeTranslations($vehicle),
- 'msrp' => $vehicle->msrp,
- 'manufacturer' => [
- 'code' => $vehicle->manufacturer->name_short,
- 'name' => $vehicle->manufacturer->name,
- ],
- 'insurance' => [
- 'claim_time' => $vehicle->unpacked->claim_time ?? 0,
- 'expedite_time' => $vehicle->unpacked->expedite_time ?? 0,
- 'expedite_cost' => $vehicle->unpacked->expedite_cost ?? 0,
- ],
- 'updated_at' => $vehicle->updated_at,
- 'missing_translations' => $this->missingTranslations,
- ];
-
- if (optional($vehicle->unpacked)->quantum_speed !== null) {
- $data['version'] = config('api.sc_data_version');
- }
-
- return $data;
- }
-
- /**
- * @return \League\Fractal\Resource\Collection
- *
- * TODO Wrap by component_class key
- */
- public function includeComponents(Vehicle $vehicle): \League\Fractal\Resource\Collection
- {
- $components = $this->collection($vehicle->components, new ComponentTransformer);
- $components->setMetaValue('info', 'Ship-Matrix Components');
-
- return $components;
- }
-
- public function includeHardpoints(Vehicle $vehicle): \League\Fractal\Resource\Collection
- {
- $hardpoints = $this->collection($vehicle->unpacked->hardpointsWithoutParent, new VehicleHardpointTransformer);
- $hardpoints->setMetaValue('info', 'Game Data Components');
-
- return $hardpoints;
- }
-
- /**
- * @param Vehicle $vehicle
- */
- public function includeShops($vehicle): \League\Fractal\Resource\Collection
- {
- return $this->collection($vehicle->unpacked->shops, new ShopTransformer);
- }
-
- protected function getFociTranslations(Vehicle $vehicle): array
- {
- /** @var Collection $foci */
- $foci = $vehicle->foci;
- $fociTranslations = [];
-
- $foci->each(
- function ($vehicleFocus) use (&$fociTranslations) {
- $fociTranslations[] = $this->getTranslation($vehicleFocus);
- }
- );
-
- return $fociTranslations;
- }
-
- /**
- * @return array|string
- */
- protected function getProductionStatusTranslations(Vehicle $vehicle)
- {
- return $this->getTranslation($vehicle->productionStatus);
- }
-
- /**
- * @return array|string
- */
- protected function getProductionNoteTranslations(Vehicle $vehicle)
- {
- return $this->getTranslation($vehicle->productionNote);
- }
-
- /**
- * @return array|string
- */
- protected function getDescriptionTranslations(Vehicle $vehicle)
- {
- return $this->getTranslation($vehicle);
- }
-
- /**
- * @return array|string
- */
- protected function getTypeTranslations(Vehicle $vehicle)
- {
- return $this->getTranslation($vehicle->type);
- }
-
- /**
- * @return array|string
- */
- protected function getSizeTranslations(Vehicle $vehicle)
- {
- return $this->getTranslation($vehicle->size);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/AbstractCommodityTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/AbstractCommodityTransformer.php
deleted file mode 100644
index 506d11915..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/AbstractCommodityTransformer.php
+++ /dev/null
@@ -1,22 +0,0 @@
-collection($item->shops, new ShopTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorAttachmentTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorAttachmentTransformer.php
deleted file mode 100644
index d40464cd9..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorAttachmentTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $mode->name,
- 'min_size' => $mode->min_size,
- 'max_size' => $mode->max_size,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorLinkTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorLinkTransformer.php
deleted file mode 100644
index 672ce2eab..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorLinkTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $armor->item->name,
- 'uuid' => $armor->item->uuid,
- 'link' => $this->makeApiUrl(self::UNPACKED_CHAR_ARMOR_SHOW, $armor->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorResistanceTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorResistanceTransformer.php
deleted file mode 100644
index 2d8a18d4b..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorResistanceTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $resistance->type,
- 'multiplier' => $resistance->multiplier,
- 'threshold' => $resistance->threshold,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorTransformer.php
deleted file mode 100644
index 9a347660f..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/CharArmor/CharArmorTransformer.php
+++ /dev/null
@@ -1,116 +0,0 @@
-missingTranslations = [];
-
- $data = [
- 'uuid' => $armor->item->uuid,
- 'name' => $armor->item->name,
- 'description' => $this->getTranslation($armor),
- 'size' => $armor->item->size,
- 'manufacturer' => $armor->item->manufacturer,
- 'type' => $armor->item->type,
- 'sub_type' => $armor->item->sub_type,
- 'armor_type' => $armor->armor_type,
- 'carrying_capacity' => $armor->carrying_capacity,
- 'damage_reduction' => $armor->damage_reduction,
- 'volume' => [
- 'width' => $armor->item->volume->width,
- 'height' => $armor->item->volume->height,
- 'length' => $armor->item->volume->length,
- 'volume' => $armor->item->volume->volume,
- ],
- ];
-
- $baseModel = $armor->baseModel;
- if ($baseModel !== null && $baseModel->item->name !== $armor->item->name) {
- $data['base_model'] = (new CharArmorLinkTransformer)->transform($baseModel);
- }
-
- $data += [
- 'updated_at' => $armor->updated_at,
- 'missing_translations' => $this->missingTranslations,
- 'resistances' => $this->mapResistances($armor),
- 'version' => $armor->version,
- ];
-
- return $data;
- }
-
- public function includeAttachments(CharArmor $armor): Collection
- {
- return $this->collection($armor->attachments, new CharArmorAttachmentTransformer);
- }
-
- /**
- * Re-formats the resistances into multiple arrays
- *
- * @return array[]
- */
- private function mapResistances(CharArmor $armor): array
- {
- $mapped = $armor->resistances->keyBy('type')->map(function ($resistance) {
- return [
- 'multiplier' => $resistance['multiplier'],
- 'threshold' => $resistance['threshold'],
- ];
- });
-
- return [
- 'temperature' => [
- 'min' => $armor->temp_resistance_min,
- 'max' => $armor->temp_resistance_max,
- ],
- ] + $mapped->toArray();
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ClothingLinkTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ClothingLinkTransformer.php
deleted file mode 100644
index e1a4e7915..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ClothingLinkTransformer.php
+++ /dev/null
@@ -1,19 +0,0 @@
- $clothing->item->name,
- 'uuid' => $clothing->item->uuid,
- 'link' => $this->makeApiUrl(self::UNPACKED_CLOTHING_SHOW, $clothing->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ClothingTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ClothingTransformer.php
deleted file mode 100644
index 3f91fd7ee..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ClothingTransformer.php
+++ /dev/null
@@ -1,55 +0,0 @@
-missingTranslations = [];
-
- $data = [
- 'uuid' => $clothing->item->uuid,
- 'name' => $clothing->item->name,
- 'description' => $this->getTranslation($clothing),
- 'manufacturer' => $clothing->item->manufacturer,
- 'type' => $clothing->item->type,
- 'sub_type' => $clothing->item->sub_type,
- 'clothing_type' => $clothing->type,
- 'carrying_capacity' => $clothing->carrying_capacity,
- 'volume' => [
- 'width' => $clothing->item->volume->width,
- 'height' => $clothing->item->volume->height,
- 'length' => $clothing->item->volume->length,
- 'volume' => $clothing->item->volume->volume,
- ],
- ];
-
- $baseModel = $clothing->baseModel;
- if ($baseModel !== null && $baseModel->item->name !== $clothing->item->name) {
- $data['base_model'] = (new ClothingLinkTransformer)->transform($baseModel);
- }
-
- $data += [
- 'updated_at' => $clothing->updated_at,
- 'missing_translations' => $this->missingTranslations,
- 'resistances' => [
- 'temperature' => [
- 'min' => $clothing->temp_resistance_min,
- 'max' => $clothing->temp_resistance_max,
- ],
- ],
- 'version' => $clothing->version,
- ];
-
- return $data;
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/Food/FoodLinkTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/Food/FoodLinkTransformer.php
deleted file mode 100644
index d9dc13ae7..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/Food/FoodLinkTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $food->item->name,
- 'uuid' => $food->item->uuid,
- 'link' => $this->makeApiUrl(self::UNPACKED_FOOD_SHOW, $food->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/Food/FoodTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/Food/FoodTransformer.php
deleted file mode 100644
index 29e3a012a..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/Food/FoodTransformer.php
+++ /dev/null
@@ -1,45 +0,0 @@
-missingTranslations = [];
-
- return [
- 'uuid' => $food->item->uuid,
- 'name' => $food->item->name,
- 'description' => $this->getTranslation($food),
- 'manufacturer' => $food->item->manufacturer,
- 'type' => $food->item->type,
- 'sub_type' => $food->item->sub_type,
- 'volume' => [
- 'width' => $food->item->volume->width,
- 'height' => $food->item->volume->height,
- 'length' => $food->item->volume->length,
- 'volume' => $food->item->volume->volume,
- ],
- 'nutritional_density_rating' => $food->nutritional_density_rating,
- 'hydration_efficacy_index' => $food->hydration_efficacy_index,
- 'effects' => $food->effects->pluck('name'),
- 'container_type' => $food->container_type,
- 'one_shot_consume' => $food->one_shot_consume,
- 'can_be_reclosed' => $food->can_be_reclosed,
- 'discard_when_consumed' => $food->discard_when_consumed,
- 'occupancy_volume' => $food->occupancy_volume,
- 'updated_at' => $food->updated_at,
- 'version' => $food->version,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ItemTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ItemTransformer.php
deleted file mode 100644
index fa222209b..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ItemTransformer.php
+++ /dev/null
@@ -1,131 +0,0 @@
-specification !== null) {
- $this->defaultIncludes[] = 'specification';
- }
-
- return [
- 'uuid' => $item->uuid,
- 'name' => $item->name,
- 'type' => $item->type,
- 'sub_type' => $item->sub_type,
- 'manufacturer' => $item->manufacturer,
- 'size' => $item->size,
- 'volume' => [
- 'width' => $item->volume->width ?? 0,
- 'height' => $item->volume->height ?? 0,
- 'length' => $item->volume->length ?? 0,
- 'volume' => $item->volume->volume ?? 0,
- ],
- 'version' => $item->version,
- ];
- }
-
- public function includeSpecification(Item $item): ResourceAbstract
- {
- switch ($item->specification !== null ? get_class($item->specification) : '') {
- case CharArmor::class:
- return $this->item($item->specification, $this->makeTransformer(CharArmorTransformer::class, $this));
-
- case Clothing::class:
- return $this->item($item->specification, $this->makeTransformer(ClothingTransformer::class, $this));
-
- case WeaponPersonal::class:
- return $this->item($item->specification, $this->makeTransformer(WeaponPersonalTransformer::class, $this));
-
- case Attachment::class:
- return $this->item($item->specification, $this->makeTransformer(WeaponPersonalAttachmentsTransformer::class, $this));
-
- case Missile::class:
- return $this->item($item->specification, $this->makeTransformer(WeaponTransformer::class, $this));
-
- case Cooler::class:
- return $this->item($item->specification, $this->makeTransformer(CoolerTransformer::class, $this));
-
- case QuantumDrive::class:
- return $this->item($item->specification, $this->makeTransformer(QuantumDriveTransformer::class, $this));
-
- case PowerPlant::class:
- return $this->item($item->specification, $this->makeTransformer(PowerPlantTransformer::class, $this));
-
- case Shield::class:
- return $this->item($item->specification, $this->makeTransformer(ShieldTransformer::class, $this));
-
- case Weapon::class:
- return $this->item($item->specification(), $this->makeTransformer(WeaponTransformer::class, $this));
-
- case MiningLaser::class:
- return $this->item($item->specification(), $this->makeTransformer(MiningLaserTransformer::class, $this));
-
- case Turret::class:
- return $this->item($item->specification(), $this->makeTransformer(TurretTransformer::class, $this));
-
- default:
- return $this->null();
- }
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/PersonalInventoryTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/PersonalInventoryTransformer.php
deleted file mode 100644
index 7c72b161a..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/PersonalInventoryTransformer.php
+++ /dev/null
@@ -1,17 +0,0 @@
- $item->scu,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CargoGridTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CargoGridTransformer.php
deleted file mode 100644
index cefd4260a..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CargoGridTransformer.php
+++ /dev/null
@@ -1,28 +0,0 @@
- $item->personal_inventory,
- 'invisible' => $item->invisible,
- 'mining_only' => $item->mining_only,
- 'min_volatile_power_to_explode' => $item->min_volatile_power_to_explode,
- 'scu' => $item->scu,
- 'dimension' => $item->dimension,
- 'dimensions' => [
- 'x' => $item->x,
- 'y' => $item->y,
- 'z' => $item->z,
- ],
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CoolerTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CoolerTransformer.php
deleted file mode 100644
index 7e1af663f..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CoolerTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $item->cooling_rate,
- 'suppression_ir_factor' => $item->suppression_ir_factor,
- 'suppression_heat_factor' => $item->suppression_heat_factor,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CounterMeasureTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CounterMeasureTransformer.php
deleted file mode 100644
index e8c1edca2..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/CounterMeasureTransformer.php
+++ /dev/null
@@ -1,19 +0,0 @@
- $item->initial_ammo_count,
- 'max_ammo_count' => $item->max_ammo_count,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/FuelIntakeTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/FuelIntakeTransformer.php
deleted file mode 100644
index 9d02c44ed..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/FuelIntakeTransformer.php
+++ /dev/null
@@ -1,19 +0,0 @@
- $item->fuel_push_rate,
- 'minimum_rate' => $item->minimum_rate,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/FuelTankTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/FuelTankTransformer.php
deleted file mode 100644
index de0d32a1a..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/FuelTankTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $item->fill_rate,
- 'drain_rate' => $item->drain_rate,
- 'capacity' => $item->capacity,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/MiningLaserTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/MiningLaserTransformer.php
deleted file mode 100644
index 19c9526f5..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/MiningLaserTransformer.php
+++ /dev/null
@@ -1,31 +0,0 @@
- $item->hit_type ?? '-',
- 'energy_rate' => $item->energy_rate ?? 0,
- 'full_damage_range' => $item->full_damage_range ?? 0,
- 'zero_damage_range' => $item->zero_damage_range ?? 0,
- 'heat_per_second' => $item->heat_per_second ?? 0,
- 'damage' => $item->damage ?? 0,
- 'modifier' => [
- 'resistance' => $item->modifier_resistance ?? 0,
- 'instability' => $item->modifier_instability ?? 0,
- 'charge_window_size' => $item->modifier_charge_window_size ?? 0,
- 'charge_window_rate' => $item->modifier_charge_window_rate ?? 0,
- 'shatter_damage' => $item->modifier_shatter_damage ?? 0,
- 'catastrophic_window_rate' => $item->modifier_catastrophic_window_rate ?? 0,
- ],
- 'consumable_slots' => $item->consumable_slots ?? 0,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/MissileRackTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/MissileRackTransformer.php
deleted file mode 100644
index 508b4b257..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/MissileRackTransformer.php
+++ /dev/null
@@ -1,19 +0,0 @@
- $item->missile_size,
- 'missile_count' => $item->missile_count,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/PowerPlantTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/PowerPlantTransformer.php
deleted file mode 100644
index 70f4d49c5..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/PowerPlantTransformer.php
+++ /dev/null
@@ -1,18 +0,0 @@
- $item->power_output,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/QuantumDrive/QuantumDriveModeTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/QuantumDrive/QuantumDriveModeTransformer.php
deleted file mode 100644
index 7df015371..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/QuantumDrive/QuantumDriveModeTransformer.php
+++ /dev/null
@@ -1,30 +0,0 @@
- sprintf('%s_jump', $item->type),
- 'drive_speed' => $item->drive_speed,
- 'cooldown_time' => $item->cooldown_time,
- 'stage_one_accel_rate' => $item->stage_one_accel_rate,
- 'stage_two_accel_rate' => $item->stage_two_accel_rate,
- 'engage_speed' => $item->engage_speed,
- 'interdiction_effect_time' => $item->interdiction_effect_time,
- 'calibration_rate' => $item->calibration_rate,
- 'min_calibration_requirement' => $item->min_calibration_requirement,
- 'max_calibration_requirement' => $item->max_calibration_requirement,
- 'calibration_process_angle_limit' => $item->calibration_process_angle_limit,
- 'calibration_warning_angle_limit' => $item->calibration_warning_angle_limit,
- 'spool_up_time' => $item->spool_up_time,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/QuantumDrive/QuantumDriveTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/QuantumDrive/QuantumDriveTransformer.php
deleted file mode 100644
index 127dd4e2f..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/QuantumDrive/QuantumDriveTransformer.php
+++ /dev/null
@@ -1,37 +0,0 @@
- $item->quantum_fuel_requirement,
- 'jump_range' => $item->jump_range,
- 'disconnect_range' => $item->disconnect_range,
- 'thermal_energy_draw' => [
- 'pre_ramp_up' => $item->pre_ramp_up_thermal_energy_draw,
- 'ramp_up' => $item->ramp_up_thermal_energy_draw,
- 'in_flight' => $item->in_flight_thermal_energy_draw,
- 'ramp_down' => $item->ramp_down_thermal_energy_draw,
- 'post_ramp_down' => $item->post_ramp_down_thermal_energy_draw,
- ],
- ];
- }
-
- public function includeModes(QuantumDrive $drive): Collection
- {
- return $this->collection($drive->modes, new QuantumDriveModeTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/RadarTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/RadarTransformer.php
deleted file mode 100644
index 338a165dc..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/RadarTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $item->detection_lifetime,
- 'altitude_ceiling' => $item->altitude_ceiling,
- 'enable_cross_section_occlusion' => $item->enable_cross_section_occlusion,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/SelfDestructTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/SelfDestructTransformer.php
deleted file mode 100644
index d5fc16fdb..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/SelfDestructTransformer.php
+++ /dev/null
@@ -1,23 +0,0 @@
- $item->damage,
- 'radius' => $item->radius,
- 'min_radius' => $item->min_radius,
- 'phys_radius' => $item->phys_radius,
- 'min_phys_radius' => $item->min_phys_radius,
- 'time' => $item->time,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Shield/ShieldAbsorptionTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Shield/ShieldAbsorptionTransformer.php
deleted file mode 100644
index 8c82d4735..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Shield/ShieldAbsorptionTransformer.php
+++ /dev/null
@@ -1,21 +0,0 @@
-type => [
- 'min' => $item->min,
- 'max' => $item->max,
- ],
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Shield/ShieldTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Shield/ShieldTransformer.php
deleted file mode 100644
index 11356d960..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Shield/ShieldTransformer.php
+++ /dev/null
@@ -1,41 +0,0 @@
- $item->max_shield_health,
- 'max_shield_regen' => $item->max_shield_regen,
- 'decay_ratio' => $item->decay_ratio,
- 'regen_delay' => [
- 'downed' => $item->downed_regen_delay,
- 'damage' => $item->damage_regen_delay,
- ],
- 'max_reallocation' => $item->max_reallocation,
- 'reallocation_rate' => $item->reallocation_rate,
- 'hardening' => [
- 'factor' => $item->shield_hardening_factor,
- 'duration' => $item->shield_hardening_duration,
- 'cooldown' => $item->shield_hardening_cooldown,
- ],
- ];
- }
-
- public function includeAbsorption(Shield $item): Collection
- {
- return $this->collection($item->absorptions, new ShieldAbsorptionTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemDistortionDataTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemDistortionDataTransformer.php
deleted file mode 100644
index dd6a65f03..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemDistortionDataTransformer.php
+++ /dev/null
@@ -1,22 +0,0 @@
- $item->decay_rate,
- 'maximum' => $item->maximum,
- 'overload_ratio' => $item->overload_ratio,
- 'recovery_ratio' => $item->recovery_ratio,
- 'recovery_time' => $item->recovery_time,
- ]);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemDurabilityDataTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemDurabilityDataTransformer.php
deleted file mode 100644
index 818f2cf32..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemDurabilityDataTransformer.php
+++ /dev/null
@@ -1,19 +0,0 @@
- $item->health,
- 'max_lifetime' => $item->max_lifetime,
- ]);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemHeatDataTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemHeatDataTransformer.php
deleted file mode 100644
index f3e0cba07..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemHeatDataTransformer.php
+++ /dev/null
@@ -1,35 +0,0 @@
- $item->temperature_to_ir,
- 'overpower_heat' => $item->overpower_heat,
- 'overclock_threshold_min' => $item->overclock_threshold_min,
- 'overclock_threshold_max' => $item->overclock_threshold_max,
- 'thermal_energy_base' => $item->thermal_energy_base,
- 'thermal_energy_draw' => $item->thermal_energy_draw,
- 'thermal_conductivity' => $item->thermal_conductivity,
- 'specific_heat_capacity' => $item->specific_heat_capacity,
- 'mass' => $item->mass,
- 'surface_area' => $item->surface_area,
- 'start_cooling_temperature' => $item->start_cooling_temperature,
- 'max_cooling_rate' => $item->max_cooling_rate,
- 'max_temperature' => $item->max_temperature,
- 'min_temperature' => $item->min_temperature,
- 'overheat_temperature' => $item->overheat_temperature,
- 'recovery_temperature' => $item->recovery_temperature,
- 'misfire_min_temperature' => $item->misfire_min_temperature,
- 'misfire_max_temperature' => $item->misfire_max_temperature,
- ]);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemPowerDataTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemPowerDataTransformer.php
deleted file mode 100644
index 9adbdd68e..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemPowerDataTransformer.php
+++ /dev/null
@@ -1,27 +0,0 @@
- $item->power_base,
- 'power_draw' => $item->power_draw,
- 'throttleable' => $item->throttleable,
- 'overclockable' => $item->overclockable,
- 'overclock_threshold_min' => $item->overclock_threshold_min,
- 'overclock_threshold_max' => $item->overclock_threshold_max,
- 'overclock_performance' => $item->overclock_performance,
- 'overpower_performance' => $item->overpower_performance,
- 'power_to_em' => $item->power_to_em,
- 'decay_rate_em' => $item->decay_rate_em,
- ]);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemTransformer.php
deleted file mode 100644
index c14166d98..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ShipItemTransformer.php
+++ /dev/null
@@ -1,289 +0,0 @@
-fixItem($item);
-
- $transformed = [
- 'uuid' => $item->shipItem->item->uuid,
- 'name' => $item->shipItem->item->name,
- 'description' => $this->getTranslation($item->shipItem),
- 'size' => $item->shipItem->item->size,
- 'manufacturer' => $item->shipItem->item->manufacturer,
- 'grade' => $item->shipItem->grade,
- 'class' => $item->shipItem->class,
- 'type' => $item->shipItem->type === 'Unknown Type' ?
- $item->shipItem->item->type :
- $item->shipItem->type,
- 'sub_type' => $item->shipItem->item->sub_type,
- 'durability' => [
- 'health' => $item->shipItem->health,
- 'lifetime' => $item->shipItem->lifetime,
- ],
- 'volume' => [
- 'width' => $item->shipItem->item->volume->width,
- 'height' => $item->shipItem->item->volume->height,
- 'length' => $item->shipItem->item->volume->length,
- 'volume' => $item->shipItem->item->volume->volume,
- ],
- 'version' => $item->shipItem->version,
- ];
-
- $this->addSpecificationData($item);
-
- return $transformed;
- }
-
- public function excludeDefaults(): void
- {
- $this->defaultIncludes = [];
- }
-
- /**
- * @param AbstractShipItemSpecification $item
- */
- public function includeShops($item): Collection
- {
- return $this->collection($this->fixItem($item)->shipItem->item->shops, new ShopTransformer);
- }
-
- private function addSpecificationData(AbstractShipItemSpecification $item): void
- {
- switch ($this->fixItem($item)->shipItem->item->type) {
- case 'CargoGrid':
- case 'Cargo':
- $this->defaultIncludes[] = 'cargoGrid';
- break;
-
- case 'Cooler':
- $this->defaultIncludes[] = 'cooler';
- break;
-
- case 'PersonalInventory':
- $this->defaultIncludes[] = 'personalInventory';
- break;
-
- case 'PowerPlant':
- $this->defaultIncludes[] = 'powerPlant';
- break;
-
- case 'QuantumDrive':
- $this->defaultIncludes[] = 'quantumDrive';
- break;
-
- case 'Shield':
- $this->defaultIncludes[] = 'shield';
- break;
-
- case 'WeaponGun':
- $this->defaultIncludes[] = 'weapon';
- break;
-
- case 'WeaponMining':
- $this->defaultIncludes[] = 'miningLaser';
- break;
-
- case 'WeaponDefensive':
- $this->defaultIncludes[] = 'counterMeasure';
- break;
-
- case 'MissileLauncher':
- $this->defaultIncludes[] = 'missileRack';
- break;
-
- case 'Missile':
- $this->defaultIncludes[] = 'missile';
- break;
-
- case 'FuelTank':
- case 'QuantumFuelTank':
- $this->defaultIncludes[] = 'fuelTank';
- break;
-
- case 'FuelIntake':
- $this->defaultIncludes[] = 'fuelIntake';
- break;
-
- case 'MainThruster':
- case 'ManneuverThruster':
- $this->defaultIncludes[] = 'thruster';
- break;
-
- case 'SelfDestruct':
- $this->defaultIncludes[] = 'selfDestruct';
- break;
-
- case 'ToolArm':
- case 'Turret':
- case 'TurretBase':
- case 'MiningArm':
- $this->defaultIncludes[] = 'turret';
- break;
-
- case 'Radar':
- $this->defaultIncludes[] = 'radar';
- break;
-
- default:
- break;
- }
- }
-
- public function includeModes($model): Collection
- {
- return $this->collection($model->modes, new WeaponModeTransformer);
- }
-
- public function includeHeat($data): Item
- {
- return $this->item($this->fixItem($data)->shipItem->heatData, new ShipItemHeatDataTransformer);
- }
-
- public function includePower($data): Item
- {
- return $this->item($this->fixItem($data)->shipItem->powerData, new ShipItemPowerDataTransformer);
- }
-
- public function includeDistortion($data): Item
- {
- return $this->item($this->fixItem($data)->shipItem->distortionData, new ShipItemDistortionDataTransformer);
- }
-
- public function includeDurability($data): Item
- {
- return $this->item($this->fixItem($data)->shipItem->durabilityData, new ShipItemDurabilityDataTransformer);
- }
-
- public function includeShield($data): Item
- {
- return $this->item($this->fixItem($data), new ShieldTransformer);
- }
-
- public function includePowerPlant($data): Item
- {
- return $this->item($this->fixItem($data), new PowerPlantTransformer);
- }
-
- public function includeCooler($data): Item
- {
- return $this->item($this->fixItem($data), new CoolerTransformer);
- }
-
- public function includeQuantumDrive($data): Item
- {
- return $this->item($this->fixItem($data), new QuantumDriveTransformer);
- }
-
- public function includeWeapon($data): Item
- {
- return $this->item($this->fixItem($data), new WeaponTransformer);
- }
-
- public function includeMissileRack($data): Item
- {
- return $this->item($this->fixItem($data), new MissileRackTransformer);
- }
-
- public function includeMissile($data): Item
- {
- return $this->item($this->fixItem($data), new MissileTransformer);
- }
-
- public function includeFuelTank($data): Item
- {
- return $this->item($this->fixItem($data), new FuelTankTransformer);
- }
-
- public function includeFuelIntake($data): Item
- {
- return $this->item($this->fixItem($data), new FuelIntakeTransformer);
- }
-
- public function includeThruster($data): Item
- {
- return $this->item($this->fixItem($data), new ThrusterTransformer);
- }
-
- public function includeSelfDestruct($data): Item
- {
- return $this->item($this->fixItem($data), new SelfDestructTransformer);
- }
-
- public function includeTurret($data): Item
- {
- return $this->item($this->fixItem($data), new TurretTransformer);
- }
-
- public function includeCounterMeasure($data): Item
- {
- return $this->item($this->fixItem($data), new CounterMeasureTransformer);
- }
-
- public function includeRadar($data): Item
- {
- return $this->item($this->fixItem($data), new RadarTransformer);
- }
-
- public function includeMiningLaser($data): Item
- {
- return $this->item($this->fixItem($data), new MiningLaserTransformer);
- }
-
- public function includeCargoGrid($data): Item
- {
- return $this->item($this->fixItem($data), new CargoGridTransformer);
- }
-
- public function includePersonalInventory($data): Item
- {
- return $this->item($this->fixItem($data), new PersonalInventoryTransformer);
- }
-
- private function fixItem($item): AbstractShipItemSpecification
- {
- if ($item instanceof ShipItem || $item instanceof \App\Models\StarCitizenUnpacked\Item) {
- $item = $item->specification;
- }
-
- if (! $item instanceof AbstractShipItemSpecification) {
- throw new RuntimeException;
- }
-
- return $item;
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ThrusterTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ThrusterTransformer.php
deleted file mode 100644
index 9f91f424d..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/ThrusterTransformer.php
+++ /dev/null
@@ -1,21 +0,0 @@
- $item->thrust_capacity,
- 'min_health_thrust_multiplier' => $item->min_health_thrust_multiplier,
- 'fuel_burn_per_10k_newton' => $item->fuel_burn_per_10k_newton,
- 'type' => $item->type,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/TurretTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/TurretTransformer.php
deleted file mode 100644
index 44a1f12ac..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/TurretTransformer.php
+++ /dev/null
@@ -1,19 +0,0 @@
- $item->max_mounts ?? 0,
- 'min_size' => $item->min_size ?? 0,
- 'max_size' => $item->max_size ?? 0,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/MissileDamageTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/MissileDamageTransformer.php
deleted file mode 100644
index 2fbfb9657..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/MissileDamageTransformer.php
+++ /dev/null
@@ -1,19 +0,0 @@
- $mode->name,
- 'damage' => $mode->damage,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/MissileTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/MissileTransformer.php
deleted file mode 100644
index afebe7c8c..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/MissileTransformer.php
+++ /dev/null
@@ -1,30 +0,0 @@
- $missile->signal_type,
- 'lock_time' => $missile->lock_time,
- 'damage_total' => $missile->damage ?? 0,
- ];
- }
-
- public function includeDamages(Missile $missile): Collection
- {
- return $this->collection($missile->damages, new MissileDamageTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponDamageTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponDamageTransformer.php
deleted file mode 100644
index e64f22633..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponDamageTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $mode->type,
- 'name' => $mode->name,
- 'damage' => $mode->damage,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponModeTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponModeTransformer.php
deleted file mode 100644
index 0afb6ebcc..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponModeTransformer.php
+++ /dev/null
@@ -1,33 +0,0 @@
- $mode->mode,
- 'type' => $mode->type,
- 'rpm' => $mode->rounds_per_minute,
- 'ammo_per_shot' => $mode->ammo_per_shot,
- 'pellets_per_shot' => $mode->pellets_per_shot,
- 'damage_per_second' => $mode->damagePerSecond,
- ]);
- }
-
- public function includeDamages(WeaponMode $weaponMode): Collection
- {
- return $this->collection($weaponMode->damages, new WeaponDamageTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponTransformer.php
deleted file mode 100644
index ec1da2f88..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/ShipItem/Weapon/WeaponTransformer.php
+++ /dev/null
@@ -1,46 +0,0 @@
-defaultIncludes = ['damages'];
- }
-
- return [
- 'speed' => $weapon->speed ?? '-',
- 'range' => $weapon->range ?? '-',
- 'size' => $weapon->size ?? '-',
- 'capacity' => $weapon->capacity ?? '-',
- 'damage_per_shot' => $weapon->damage ?? 0,
- ];
- }
-
- public function includeDamages($weapon): Collection
- {
- return $this->collection($weapon->damages ?? [], new WeaponDamageTransformer);
- }
-
- public function includeModes($weapon): Collection
- {
- return $this->collection($weapon->modes ?? [], new WeaponModeTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/Shop/ShopItemTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/Shop/ShopItemTransformer.php
deleted file mode 100644
index 7274a1004..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/Shop/ShopItemTransformer.php
+++ /dev/null
@@ -1,87 +0,0 @@
- $item->uuid,
- 'name' => $item->name,
- 'type' => $item->type,
- 'sub_type' => $item->sub_type,
- 'base_price' => $item->shop_data->base_price,
- 'price_calculated' => $item->shop_data->offsetted_price,
- 'price_range' => $item->shop_data->price_range,
- 'base_price_offset' => $item->shop_data->base_price_offset,
- 'max_discount' => $item->shop_data->max_discount,
- 'max_premium' => $item->shop_data->max_premium,
- 'inventory' => $item->shop_data->inventory,
- 'optimal_inventory' => $item->shop_data->optimal_inventory,
- 'max_inventory' => $item->shop_data->max_inventory,
- 'auto_restock' => $item->shop_data->auto_restock,
- 'auto_consume' => $item->shop_data->auto_consume,
- 'refresh_rate' => $item->shop_data->refresh_rate,
- 'buyable' => $item->shop_data->buyable,
- 'sellable' => $item->shop_data->sellable,
- 'rentable' => $item->shop_data->rentable,
- 'version' => $item->shop_data->version,
- ];
-
- if (isset($item->shop_data->rental->id)) {
- $data['rental_price_days'] = [
- 1 => $item->shop_data->price1,
- 3 => $item->shop_data->price3,
- 7 => $item->shop_data->price7,
- 30 => $item->shop_data->price30,
- ];
- }
-
- return $data;
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/Shop/ShopTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/Shop/ShopTransformer.php
deleted file mode 100644
index 11a0523e4..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/Shop/ShopTransformer.php
+++ /dev/null
@@ -1,66 +0,0 @@
- $shop->uuid,
- 'name_raw' => $shop->name_raw,
- 'name' => $shop->name,
- 'position' => $shop->position,
- 'profit_margin' => $shop->profit_margin,
- 'version' => $shop->version,
- ];
- }
-
- public function includeItems(Shop $shop): Collection
- {
- return $this->collection($shop->items, new ShopItemTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/VehicleHardpointTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/VehicleHardpointTransformer.php
deleted file mode 100644
index 49b8c5432..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/VehicleHardpointTransformer.php
+++ /dev/null
@@ -1,60 +0,0 @@
-defaultIncludes = [];
-
- $data = [
- 'name' => $hardpoint->hardpoint_name,
- 'min_size' => $hardpoint->min_size,
- 'max_size' => $hardpoint->max_size,
- 'class_name' => $hardpoint->class_name,
- ];
-
- if ($hardpoint->item !== null && $hardpoint->item->specification !== null) {
- $data += [
- 'type' => $hardpoint->item->item->type,
- 'sub_type' => $hardpoint->item->item->sub_type,
- ];
-
- $this->defaultIncludes[] = 'item';
- }
-
- $data = array_filter($data);
-
- $this->defaultIncludes[] = 'children';
-
- return $data;
- }
-
- public function includeItem(VehicleHardpoint $item)
- {
- if ($item->item === null) {
- return $this->null();
- }
-
- $transformer = new ShipItemTransformer;
- $transformer->excludeDefaults();
-
- return $this->item($item->item->specification, $transformer);
- }
-
- public function includeChildren(VehicleHardpoint $hardpoint): Collection
- {
- return $this->collection($hardpoint->children2, new self);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/VehicleTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/VehicleTransformer.php
deleted file mode 100644
index 942ef9cca..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/VehicleTransformer.php
+++ /dev/null
@@ -1,263 +0,0 @@
- 'Aegis Dynamics',
- 'ANVL' => 'Anvil Aerospace',
- 'ARGO' => 'Argo Astronautics',
- 'BANU' => 'Banu',
- 'CNOU' => 'Consolidated Outland',
- 'CRUS' => 'Crusader Industries',
- 'DRAK' => 'Drake Interplanetary',
- 'ESPR' => 'Esperia',
- 'GRIN' => 'Greycat Industrial',
- 'KRIG' => 'Kruger Intergalactic',
- 'MISC' => 'Musashi Industrial & Starflight Concern',
- 'ORIG' => 'Origin Jumpworks GmbH',
- 'RSI' => 'Roberts Space Industries',
- 'TMBL' => 'Tumbril',
- 'VNCL' => 'Vanduul',
- 'XIAN' => 'Xi\'an',
- ];
-
- /**
- * TODO: Move to DB
- *
- * @var array|string[]
- */
- private array $roles = [
- 'Bomber' => 'Bomber',
- 'Combat' => 'Gefecht',
- 'Corvette' => 'Korvette',
- 'Courier' => 'Kurier',
- 'Destroyer' => 'Zerstörer',
- 'Drop Ship' => 'Landungsschiff',
- 'Expedition' => 'Forschungsreisen',
- 'Exploration' => 'Erkundung',
- 'Fighter' => 'Kampf',
- 'Frigate' => 'Fregatte',
- 'Ground' => 'Bodenfahrzeug',
- 'Gunship' => 'Kanonenboot',
- 'Gun Ship' => 'Kanonenboot',
- 'Heavy Bomber' => 'Schwerer Bomber',
- 'Heavy Fighter' => 'Schwerer Jäger',
- 'Heavy Freight' => 'Schwertransport',
- 'Heavy Refuelling' => 'Schwerbetankung',
- 'Heavy Salvage' => 'Großbergung',
- 'Interceptor' => 'Abfangjäger',
- 'Interdiction' => 'Abriegelung',
- 'Light Fighter' => 'Leichter Jäger',
- 'Light Freight' => 'Leichter Frachter',
- 'Light Mining' => 'Leichter Bergbau',
- 'Light Science' => 'Einfache Forschung',
- 'Luxury' => 'Komfort',
- 'Medical' => 'Medizin',
- 'Medium Data' => 'Mittlerer Datentransport',
- 'Medium Fighter' => 'Mittlerer Jäger',
- 'Medium Freight' => 'Mittlerer Frachter',
- 'Medium Mining' => 'Mittlerer Bergbau',
- 'Passenger' => 'Passagier',
- 'Pathfinder' => 'Pfadfinder',
- 'Racing' => 'Rennsport',
- 'Reporting' => 'Berichterstattung',
- 'Snub Fighter' => 'Beiboot Jäger',
- 'Starter' => 'Einsteiger',
- 'Stealth Bomber' => 'Tarnkappenbomber',
- 'Stealth Fighter' => 'Tarnkappenjäger',
- 'Support' => 'Unterstützung',
- 'Transporter' => 'Transporter',
- ];
-
- /**
- * TODO: Move to DB
- *
- * @var array|string[]
- */
- private array $careers = [
- 'Combat' => 'Gefecht',
- 'Transporter' => 'Transport',
- 'Industrial' => 'Gewerblich',
- 'Exploration' => 'Erkundung',
- 'Support' => 'Unterstützung',
- 'Multi-Role' => 'Mehrzweck',
- 'Competition' => 'Wettkampf',
- 'Ground' => 'Bodenfahrzeug',
- ];
-
- public function transform(Vehicle $vehicle): array
- {
- $name = explode('_', $vehicle->class_name);
- $manufacturer = null;
- $manufacturerCode = null;
-
- if (isset($this->manufacturers[$name[0]])) {
- $manufacturerCode = $name[0];
- $manufacturer = $this->manufacturers[$name[0]];
- }
-
- $name = explode(' ', $vehicle->name);
- array_shift($name);
- $name = implode(' ', $name);
-
- $cargo = $vehicle->cargo_capacity;
- if ($vehicle->SCU > 0) {
- $cargo = $vehicle->scu;
- }
-
- $data = [
- 'id' => $vehicle->vehicle->cig_id ?? null,
- 'uuid' => $vehicle->uuid,
- 'chassis_id' => $vehicle->vehicle->chassis_id ?? null,
- 'name' => $name,
- 'slug' => $vehicle->vehicle->slug ?? Str::slug($name),
- 'sizes' => [
- 'length' => (float) $vehicle->length,
- 'beam' => (float) $vehicle->width,
- 'height' => (float) $vehicle->height,
- ],
- 'mass' => $vehicle->mass,
- 'cargo_capacity' => $cargo,
- 'personal_inventory_capacity' => $vehicle->personal_inventory_scu ?? null,
- 'crew' => [
- 'min' => $vehicle->crew,
- 'max' => $vehicle->crew,
- 'weapon' => $vehicle->weapon_crew ?? 0,
- 'operation' => $vehicle->operation_crew ?? 0,
- ],
- 'health' => $vehicle->health_body ?? 0,
- 'speed' => [
- 'scm' => $vehicle->scm_speed,
- 'afterburner' => $vehicle->max_speed,
- 'max' => $vehicle->max_speed ?? 0,
- 'zero_to_scm' => $vehicle->zero_to_scm ?? 0,
- 'zero_to_max' => $vehicle->zero_to_max ?? 0,
- 'scm_to_zero' => $vehicle->scm_to_zero ?? 0,
- 'max_to_zero' => $vehicle->max_to_zero ?? 0,
- ],
- 'fuel' => [
- 'capacity' => $vehicle->fuel_capacity ?? 0,
- 'intake_rate' => $vehicle->fuel_intake_rate ?? 0,
- 'usage' => [
- 'main' => $vehicle->fuel_usage_main ?? 0,
- 'retro' => $vehicle->fuel_usage_retro ?? 0,
- 'vtol' => $vehicle->fuel_usage_vtol ?? 0,
- 'maneuvering' => $vehicle->fuel_usage_maneuvering ?? 0,
- ],
- ],
- 'quantum' => [
- 'quantum_speed' => $vehicle->quantum_speed ?? 0,
- 'quantum_spool_time' => $vehicle->quantum_spool_time ?? 0,
- 'quantum_fuel_capacity' => $vehicle->quantum_fuel_capacity ?? 0,
- 'quantum_range' => $vehicle->quantum_range ?? 0,
- ],
- 'agility' => [
- 'pitch' => $vehicle->unpacked->pitch ?? 0,
- 'yaw' => $vehicle->unpacked->yaw ?? 0,
- 'roll' => $vehicle->unpacked->roll ?? 0,
- 'acceleration' => [
- 'x_axis' => null,
- 'y_axis' => null,
- 'z_axis' => null,
-
- 'main' => $vehicle->acceleration_main ?? 0,
- 'retro' => $vehicle->acceleration_retro ?? 0,
- 'vtol' => $vehicle->acceleration_vtol ?? 0,
- 'maneuvering' => $vehicle->acceleration_maneuvering ?? 0,
-
- 'main_g' => $vehicle->acceleration_g_main ?? 0,
- 'retro_g' => $vehicle->acceleration_g_retro ?? 0,
- 'vtol_g' => $vehicle->acceleration_g_vtol ?? 0,
- 'maneuvering_g' => $vehicle->acceleration_g_maneuvering ?? 0,
- ],
- ],
- 'foci' => $this->getMappedTranslation($vehicle->role, $this->roles),
- 'size' => $vehicle->size,
- 'type' => $this->getMappedTranslation($vehicle->career, $this->careers),
- 'production_status' => null,
- 'production_note' => null,
- 'description' => null,
-
- 'msrp' => null,
- 'manufacturer' => [
- 'code' => $manufacturerCode,
- 'name' => $manufacturer,
- ],
- 'insurance' => [
- 'claim_time' => $vehicle->claim_time ?? 0,
- 'expedite_time' => $vehicle->expedite_time ?? 0,
- 'expedite_cost' => $vehicle->expedite_cost ?? 0,
- ],
- 'updated_at' => $vehicle->updated_at,
- ];
-
- if (optional($vehicle)->quantum_speed !== null) {
- $data['version'] = config('api.sc_data_version');
- }
-
- if ($vehicle->vehicle !== null) {
- $transformer = new \App\Transformers\Api\V1\StarCitizen\Vehicle\VehicleTransformer;
- $transformed = $transformer->transform($vehicle->vehicle);
- $data['foci'] = $transformed['foci'];
- $data['production_status'] = $transformed['production_status'];
- $data['production_note'] = $transformed['production_note'];
- $data['type'] = $transformed['type'];
- $data['description'] = $transformed['description'];
- $data['size'] = $transformed['size'];
- }
-
- return $data;
- }
-
- private function getMappedTranslation($role, array $data)
- {
- $out = collect(explode('/', $role))
- ->map(function ($role) use ($data) {
- $role = trim($role);
-
- return [
- 'en_EN' => $role,
- 'de_DE' => $data[$role] ?? $role,
- ];
- });
-
- if (isset($this->localeCode)) {
- $out = $out->map(function ($entry) {
- return $entry[$this->localeCode];
- });
- }
-
- return $out;
- }
-
- public function includeHardpoints(Vehicle $vehicle): Collection
- {
- $hardpoints = $this->collection($vehicle->hardpointsWithoutParent, new VehicleHardpointTransformer);
- $hardpoints->setMetaValue('info', 'Game Data Components');
-
- return $hardpoints;
- }
-
- public function includeShops(Vehicle $vehicle): Collection
- {
- return $this->collection($vehicle->shops, new ShopTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAmmunitionDamageTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAmmunitionDamageTransformer.php
deleted file mode 100644
index 48d57984f..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAmmunitionDamageTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $mode->type,
- 'name' => $mode->name,
- 'damage' => $mode->damage,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAmmunitionTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAmmunitionTransformer.php
deleted file mode 100644
index e876e2417..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAmmunitionTransformer.php
+++ /dev/null
@@ -1,21 +0,0 @@
- $ammunition->size,
- 'lifetime' => $ammunition->lifetime,
- 'speed' => $ammunition->speed,
- 'range' => $ammunition->range,
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAttachmentPortsTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAttachmentPortsTransformer.php
deleted file mode 100644
index fea6278a0..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAttachmentPortsTransformer.php
+++ /dev/null
@@ -1,23 +0,0 @@
- $port->name,
- 'position' => $port->position,
- 'sizes' => [
- 'min' => $port->min_size,
- 'max' => $port->max_size,
- ],
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAttachmentsTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAttachmentsTransformer.php
deleted file mode 100644
index 41dfa6ad6..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalAttachmentsTransformer.php
+++ /dev/null
@@ -1,53 +0,0 @@
- $port->item->uuid,
- 'name' => $port->attachment_name,
- 'description' => $this->getTranslation($port),
- 'type' => $port->type,
- 'sub_type' => $port->item->sub_type,
- 'position' => $port->position,
- 'size' => $port->size,
- 'manufacturer' => $port->item->manufacturer,
- 'grade' => $port->grade,
- 'volume' => [
- 'width' => $port->item->volume->width,
- 'height' => $port->item->volume->height,
- 'length' => $port->item->volume->length,
- 'volume' => $port->item->volume->volume,
- ],
- 'updated_at' => $port->updated_at,
- 'version' => $port->version,
- ];
-
- switch ($port->type) {
- case 'Magazine':
- $data['capacity'] = $port->magazine->capacity ?? null;
- break;
-
- case 'Scope':
- $data += [
- 'magnification' => $port->optics->magnification ?? null,
- 'optic_type' => $port->optics->type ?? null,
- ];
- break;
- }
-
- return $data;
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalLinkTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalLinkTransformer.php
deleted file mode 100644
index ec4d04d20..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalLinkTransformer.php
+++ /dev/null
@@ -1,20 +0,0 @@
- $weaponPersonal->item->name,
- 'uuid' => $weaponPersonal->item->uuid,
- 'link' => $this->makeApiUrl(self::UNPACKED_WEAPON_PERSONAL_SHOW, $weaponPersonal->getRouteKey()),
- ];
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalModeTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalModeTransformer.php
deleted file mode 100644
index caedec154..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalModeTransformer.php
+++ /dev/null
@@ -1,33 +0,0 @@
- $mode->mode,
- 'type' => $mode->type,
- 'rpm' => $mode->rounds_per_minute,
- 'ammo_per_shot' => $mode->ammo_per_shot,
- 'pellets_per_shot' => $mode->pellets_per_shot,
- 'damage_per_second' => $mode->damagePerSecond,
- ];
- }
-
- public function includeDamages(WeaponPersonalMode $mode): Collection
- {
- return $this->collection($mode->weapon->ammunition->damages, new WeaponPersonalAmmunitionDamageTransformer);
- }
-}
diff --git a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalTransformer.php b/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalTransformer.php
deleted file mode 100644
index 7fbd0670e..000000000
--- a/app/Transformers/Api/V1/StarCitizenUnpacked/WeaponPersonal/WeaponPersonalTransformer.php
+++ /dev/null
@@ -1,86 +0,0 @@
-missingTranslations = [];
-
- $data = [
- 'uuid' => $weapon->item->uuid,
- 'name' => $weapon->item->name,
- 'description' => $this->getTranslation($weapon),
- 'size' => $weapon->item->size,
- 'manufacturer' => $weapon->item->manufacturer,
- 'type' => $weapon->weapon_type,
- 'sub_type' => $weapon->item->sub_type,
- 'class' => $weapon->weapon_class,
- 'magazine_type' => $weapon->magazineType,
- 'magazine_size' => $weapon->magazine->magazine->capacity ?? 0,
- 'effective_range' => $weapon->effective_range ?? 0,
- 'damage_per_shot' => $weapon->ammunition->damage ?? 0,
- 'rof' => $weapon->rof ?? 0,
- 'ammunition' => [
- 'size' => $weapon->ammunition->size ?? 0,
- 'lifetime' => $weapon->ammunition->lifetime ?? 0,
- 'speed' => $weapon->ammunition->speed ?? 0,
- 'range' => $weapon->ammunition->range ?? 0,
- ],
- 'volume' => [
- 'width' => $weapon->item->volume->width,
- 'height' => $weapon->item->volume->height,
- 'length' => $weapon->item->volume->length,
- 'volume' => $weapon->item->volume->volume,
- ],
- ];
-
- $baseModel = $weapon->baseModel;
- if ($baseModel !== null && $baseModel->item->name !== $weapon->item->name) {
- $data['base_model'] = (new WeaponPersonalLinkTransformer)->transform($baseModel);
- }
-
- $data += [
- 'updated_at' => $weapon->updated_at,
- 'missing_translations' => $this->missingTranslations,
- 'version' => $weapon->version,
- ];
-
- return $data;
- }
-
- public function includeModes(WeaponPersonal $weapon): Collection
- {
- return $this->collection($weapon->modes, new WeaponPersonalModeTransformer);
- }
-
- public function includeDamages(WeaponPersonal $weapon): Collection
- {
- return $this->collection($weapon->ammunition->damages, new WeaponPersonalAmmunitionDamageTransformer);
- }
-
- public function includeAttachments(WeaponPersonal $weapon): Collection
- {
- return $this->collection($weapon->attachments, new WeaponPersonalAttachmentsTransformer);
- }
-
- public function includeAttachmentPorts(WeaponPersonal $weapon): Collection
- {
- return $this->collection($weapon->attachmentPorts, new WeaponPersonalAttachmentPortsTransformer);
- }
-}
diff --git a/app/View/Components/ColumnSourceMap.php b/app/View/Components/ColumnSourceMap.php
new file mode 100644
index 000000000..ab602e682
--- /dev/null
+++ b/app/View/Components/ColumnSourceMap.php
@@ -0,0 +1,68 @@
+
+ */
+ public array $mappings;
+
+ /**
+ * @param array> $columns
+ */
+ public function __construct(public array $columns)
+ {
+ $this->mappings = $this->flattenColumns($columns);
+ }
+
+ public function render(): View|Closure|string
+ {
+ return view('components.column-source-map');
+ }
+
+ /**
+ * @param array> $columns
+ * @param array $parents
+ * @return array
+ */
+ private function flattenColumns(array $columns, array $parents = []): array
+ {
+ $mappings = [];
+
+ foreach ($columns as $column) {
+ $title = $column['title'] ?? null;
+ $nextParents = $parents;
+
+ if (is_string($title) && $title !== '') {
+ $nextParents[] = $title;
+ }
+
+ if (isset($column['columns']) && is_array($column['columns'])) {
+ $mappings = array_merge($mappings, $this->flattenColumns($column['columns'], $nextParents));
+
+ continue;
+ }
+
+ $field = $column['field'] ?? null;
+ if (! is_string($field) || $field === '') {
+ continue;
+ }
+
+ $displayTitle = array_filter($nextParents, static fn (string $value): bool => $value !== '');
+ $mappings[] = [
+ 'title' => $displayTitle !== [] ? implode(' / ', $displayTitle) : $field,
+ 'field' => $field,
+ ];
+ }
+
+ return $mappings;
+ }
+}
diff --git a/app/View/Composers/AppShellComposer.php b/app/View/Composers/AppShellComposer.php
new file mode 100644
index 000000000..6a5511148
--- /dev/null
+++ b/app/View/Composers/AppShellComposer.php
@@ -0,0 +1,48 @@
+orderByDesc('is_default')
+ ->orderByDesc('released_at')
+ ->orderBy('code')
+ ->get();
+
+ $requestedCode = request()->query('version');
+ $sessionCode = session('game_version_code');
+
+ $selectedGameVersion = $this->matchVersionByCode($gameVersions, $requestedCode)
+ ?? $this->matchVersionByCode($gameVersions, $sessionCode)
+ ?? $gameVersions->firstWhere('is_default', true)
+ ?? $gameVersions->first();
+
+ $selectedGameVersionCode = $selectedGameVersion?->code;
+
+ $view->with([
+ 'gameVersions' => $gameVersions,
+ 'selectedGameVersion' => $selectedGameVersion,
+ 'selectedGameVersionCode' => $selectedGameVersionCode,
+ ]);
+ }
+
+ protected function matchVersionByCode(Collection $versions, ?string $code): ?GameVersion
+ {
+ if ($code === null) {
+ return null;
+ }
+
+ return $versions->first(function (GameVersion $version) use ($code) {
+ return strtolower($version->code) === strtolower($code);
+ });
+ }
+}
diff --git a/app/helpers.php b/app/helpers.php
deleted file mode 100644
index f585bc857..000000000
--- a/app/helpers.php
+++ /dev/null
@@ -1,35 +0,0 @@
- 1) {
- $chunks = array_chunk($tmp, $length);
- foreach ($chunks as $i => $chunk) {
- $chunks[$i] = implode('', (array) $chunk);
- }
- $tmp = $chunks;
- }
-
- return $tmp;
- }
-}
-
-if (! function_exists('scdata')) {
- /**
- * Generate a link to the scunpacked data
- */
- function scdata(string $path): string
- {
- return storage_path(sprintf('%s/%s', config('api.sc_data_path'), ltrim($path, '/')));
- }
-}
diff --git a/artisan b/artisan
old mode 100644
new mode 100755
index 5c23e2e24..c35e31d6a
--- a/artisan
+++ b/artisan
@@ -1,53 +1,18 @@
#!/usr/bin/env php
make(Illuminate\Contracts\Console\Kernel::class);
-
-$status = $kernel->handle(
- $input = new Symfony\Component\Console\Input\ArgvInput,
- new Symfony\Component\Console\Output\ConsoleOutput
-);
-
-/*
-|--------------------------------------------------------------------------
-| Shutdown The Application
-|--------------------------------------------------------------------------
-|
-| Once Artisan has finished running, we will fire off the shutdown events
-| so that any final work may be done by the application before we shut
-| down the process. This is the last thing to happen to the request.
-|
-*/
-
-$kernel->terminate($input, $status);
+$status = $app->handleCommand(new ArgvInput);
exit($status);
diff --git a/boost.json b/boost.json
new file mode 100644
index 000000000..c7bcb391d
--- /dev/null
+++ b/boost.json
@@ -0,0 +1,15 @@
+{
+ "agents": [
+ "claude_code",
+ "codex",
+ "phpstorm"
+ ],
+ "editors": [
+ "claude_code",
+ "codex",
+ "phpstorm"
+ ],
+ "guidelines": [
+ "laravel/fortify"
+ ]
+}
diff --git a/bootstrap/app.php b/bootstrap/app.php
index f2801adf6..e1d63bd18 100644
--- a/bootstrap/app.php
+++ b/bootstrap/app.php
@@ -1,55 +1,33 @@
singleton(
- Illuminate\Contracts\Http\Kernel::class,
- App\Http\Kernel::class
-);
-
-$app->singleton(
- Illuminate\Contracts\Console\Kernel::class,
- App\Console\Kernel::class
-);
-
-$app->singleton(
- Illuminate\Contracts\Debug\ExceptionHandler::class,
- App\Exceptions\Handler::class
-);
-
-/*
-|--------------------------------------------------------------------------
-| Return The Application
-|--------------------------------------------------------------------------
-|
-| This script returns the application instance. The instance is given to
-| the calling script so we can separate the building of the instances
-| from the actual running of the application and sending responses.
-|
-*/
-
-return $app;
+use Illuminate\Foundation\Application;
+use Illuminate\Foundation\Configuration\Exceptions;
+use Illuminate\Foundation\Configuration\Middleware;
+use Illuminate\Support\Facades\Route;
+
+return Application::configure(basePath: dirname(__DIR__))
+ ->withRouting(
+ web: __DIR__.'/../routes/web.php',
+ api: __DIR__.'/../routes/api.php',
+ commands: __DIR__.'/../routes/console.php',
+ health: '/up',
+ then: function () {
+ Route::middleware(['web', 'auth', 'can:access-admin'])
+ ->prefix('admin')
+ ->name('admin.')
+ ->group(base_path('routes/admin.php'));
+ },
+ )
+ ->withMiddleware(function (Middleware $middleware): void {
+ $middleware->web(append: [
+ \App\Http\Middleware\PersistSelectedGameVersion::class,
+ ]);
+
+ $middleware->alias([
+ 'game.version' => \App\Http\Middleware\Api\Game\ResolveGameVersion::class,
+ 'limit.parameter' => \App\Http\Middleware\MigrateLimitParameter::class,
+ ]);
+ })
+ ->withExceptions(function (Exceptions $exceptions): void {
+ //
+ })->create();
diff --git a/bootstrap/providers.php b/bootstrap/providers.php
new file mode 100644
index 000000000..0ad9c5732
--- /dev/null
+++ b/bootstrap/providers.php
@@ -0,0 +1,6 @@
+=8.1",
- "ext-dom": "*",
+ "php": "^8.4",
"ext-gd": "*",
- "ext-gmp": "*",
- "ext-intl": "*",
- "ext-json": "*",
- "ext-libxml": "*",
"ext-pdo": "*",
- "ext-simplexml": "*",
- "doctrine/dbal": "^3.6.0",
- "guzzlehttp/guzzle": "^7.0.1",
- "jenssegers/imagehash": "^v0.8.0",
- "laravel/framework": "^v10.0",
- "laravel/ui": "^4.2",
- "league/commonmark": "^2.0",
- "league/fractal": "^0.20.1",
- "octfx/deeply": "^3.1",
- "sebastian/diff": "^4.0.4",
- "spatie/laravel-query-builder": "^5.1",
- "starcitizenwiki/mediawikiapi": "dev-develop",
- "symfony/browser-kit": "^5.4",
- "zircote/swagger-php": "^4.4"
+ "deeplcom/deepl-php": "^1.16",
+ "doctrine/dbal": "^4.3",
+ "jenssegers/imagehash": "^0.11.0",
+ "kirschbaum-development/eloquent-power-joins": "^4.2",
+ "laravel/fortify": "^1.33",
+ "laravel/framework": "^12.0",
+ "laravel/sanctum": "^4.0",
+ "laravel/tinker": "^2.10.1",
+ "spatie/laravel-json-api-paginate": "^1.16",
+ "spatie/laravel-query-builder": "^6.3",
+ "spatie/laravel-translatable": "^6.12",
+ "symfony/browser-kit": "^8.0"
},
"require-dev": {
- "barryvdh/laravel-ide-helper": "^2.7.0",
- "escapestudios/symfony2-coding-standard": "^3.11",
- "fakerphp/faker": "^1.0",
- "filp/whoops": "2.14.5",
- "laravel-lang/lang": "~7.0",
- "laravel/pint": "^1.14",
- "mockery/mockery": "1.5.0",
- "nunomaduro/collision": "^6.1",
- "phpunit/phpunit": "^9.6",
"roave/security-advisories": "dev-latest",
- "spatie/laravel-ignition": "^2.0",
- "squizlabs/php_codesniffer": "3.6.2",
- "symfony/css-selector": "5.1.2",
- "symfony/dom-crawler": "5.1.2"
+ "fakerphp/faker": "^1.23",
+ "laravel/boost": "^1.8",
+ "laravel/pail": "^1.2.2",
+ "laravel/pint": "^1.24",
+ "laravel/sail": "^1.41",
+ "mockery/mockery": "^1.6",
+ "nunomaduro/collision": "^8.6",
+ "pestphp/pest": "^4.1",
+ "pestphp/pest-plugin-laravel": "^4.0",
+ "zircote/swagger-php": "^5.7"
},
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/"
- },
- "files": [
- "app/helpers.php"
- ]
+ }
},
"autoload-dev": {
"psr-4": {
"Tests\\": "tests/"
}
},
- "extra": {
- "laravel": {
- "dont-discover": []
- }
- },
"scripts": {
+ "setup": [
+ "composer install",
+ "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"",
+ "@php artisan key:generate",
+ "@php artisan migrate --force",
+ "npm install",
+ "npm run build"
+ ],
+ "dev": [
+ "Composer\\Config::disableProcessTimeout",
+ "npx concurrently -c \"#93c5fd,#c4b5fd,#fb7185,#fdba74\" \"php artisan serve\" \"php artisan queue:listen --tries=1\" \"php artisan pail --timeout=0\" \"npm run dev\" --names=server,queue,logs,vite --kill-others"
+ ],
+ "test": [
+ "@php artisan config:clear --ansi",
+ "@php artisan test"
+ ],
+ "post-autoload-dump": [
+ "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
+ "@php artisan package:discover --ansi"
+ ],
+ "post-update-cmd": [
+ "@php artisan vendor:publish --tag=laravel-assets --ansi --force",
+ "@php artisan boost:update --ansi"
+ ],
"post-root-package-install": [
"@php -r \"file_exists('.env') || copy('.env.example', '.env');\""
],
"post-create-project-cmd": [
- "@php artisan key:generate"
+ "@php artisan key:generate --ansi",
+ "@php -r \"file_exists('database/database.sqlite') || touch('database/database.sqlite');\"",
+ "@php artisan migrate --graceful --ansi"
],
- "post-autoload-dump": [
- "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump",
- "@php artisan package:discover"
+ "pre-package-uninstall": [
+ "Illuminate\\Foundation\\ComposerScripts::prePackageUninstall"
],
- "fix": [
- "phpcbf"
+ "openapi": [
+ "vendor/bin/openapi app -o storage/app/swagger.yaml --format yaml"
]
},
+ "extra": {
+ "laravel": {
+ "dont-discover": []
+ }
+ },
"config": {
+ "optimize-autoloader": true,
"preferred-install": "dist",
"sort-packages": true,
- "optimize-autoloader": true
+ "allow-plugins": {
+ "pestphp/pest-plugin": true,
+ "php-http/discovery": true
+ }
},
- "minimum-stability": "dev",
+ "minimum-stability": "stable",
"prefer-stable": true
}
diff --git a/composer.lock b/composer.lock
index b5e7155cd..946c9605c 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,29 +4,84 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "bbb3de7bb0b3a7e4c8fe94290db00b47",
+ "content-hash": "7383d8a222c34a465f789fd2830a5f22",
"packages": [
+ {
+ "name": "bacon/bacon-qr-code",
+ "version": "v3.0.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Bacon/BaconQrCode.git",
+ "reference": "36a1cb2b81493fa5b82e50bf8068bf84d1542563"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/36a1cb2b81493fa5b82e50bf8068bf84d1542563",
+ "reference": "36a1cb2b81493fa5b82e50bf8068bf84d1542563",
+ "shasum": ""
+ },
+ "require": {
+ "dasprid/enum": "^1.0.3",
+ "ext-iconv": "*",
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "phly/keep-a-changelog": "^2.12",
+ "phpunit/phpunit": "^10.5.11 || ^11.0.4",
+ "spatie/phpunit-snapshot-assertions": "^5.1.5",
+ "spatie/pixelmatch-php": "^1.2.0",
+ "squizlabs/php_codesniffer": "^3.9"
+ },
+ "suggest": {
+ "ext-imagick": "to generate QR code images"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "BaconQrCode\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Ben Scholzen 'DASPRiD'",
+ "email": "mail@dasprids.de",
+ "homepage": "https://dasprids.de/",
+ "role": "Developer"
+ }
+ ],
+ "description": "BaconQrCode is a QR code generator for PHP.",
+ "homepage": "https://github.com/Bacon/BaconQrCode",
+ "support": {
+ "issues": "https://github.com/Bacon/BaconQrCode/issues",
+ "source": "https://github.com/Bacon/BaconQrCode/tree/v3.0.3"
+ },
+ "time": "2025-11-19T17:15:36+00:00"
+ },
{
"name": "brick/math",
- "version": "0.12.3",
+ "version": "0.14.1",
"source": {
"type": "git",
"url": "https://github.com/brick/math.git",
- "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba"
+ "reference": "f05858549e5f9d7bb45875a75583240a38a281d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/brick/math/zipball/866551da34e9a618e64a819ee1e01c20d8a588ba",
- "reference": "866551da34e9a618e64a819ee1e01c20d8a588ba",
+ "url": "https://api.github.com/repos/brick/math/zipball/f05858549e5f9d7bb45875a75583240a38a281d0",
+ "reference": "f05858549e5f9d7bb45875a75583240a38a281d0",
"shasum": ""
},
"require": {
- "php": "^8.1"
+ "php": "^8.2"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.2",
- "phpunit/phpunit": "^10.1",
- "vimeo/psalm": "6.8.8"
+ "phpstan/phpstan": "2.1.22",
+ "phpunit/phpunit": "^11.5"
},
"type": "library",
"autoload": {
@@ -56,7 +111,7 @@
],
"support": {
"issues": "https://github.com/brick/math/issues",
- "source": "https://github.com/brick/math/tree/0.12.3"
+ "source": "https://github.com/brick/math/tree/0.14.1"
},
"funding": [
{
@@ -64,30 +119,30 @@
"type": "github"
}
],
- "time": "2025-02-28T13:11:00+00:00"
+ "time": "2025-11-24T14:40:29+00:00"
},
{
"name": "carbonphp/carbon-doctrine-types",
- "version": "2.1.0",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/CarbonPHP/carbon-doctrine-types.git",
- "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb"
+ "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
- "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/18ba5ddfec8976260ead6e866180bd5d2f71aa1d",
+ "reference": "18ba5ddfec8976260ead6e866180bd5d2f71aa1d",
"shasum": ""
},
"require": {
- "php": "^7.4 || ^8.0"
+ "php": "^8.1"
},
"conflict": {
- "doctrine/dbal": "<3.7.0 || >=4.0.0"
+ "doctrine/dbal": "<4.0.0 || >=5.0.0"
},
"require-dev": {
- "doctrine/dbal": "^3.7.0",
+ "doctrine/dbal": "^4.0.0",
"nesbot/carbon": "^2.71.0 || ^3.0.0",
"phpunit/phpunit": "^10.3"
},
@@ -117,7 +172,7 @@
],
"support": {
"issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues",
- "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0"
+ "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/3.2.0"
},
"funding": [
{
@@ -133,7 +188,120 @@
"type": "tidelift"
}
],
- "time": "2023-12-11T17:09:12+00:00"
+ "time": "2024-02-09T16:56:22+00:00"
+ },
+ {
+ "name": "dasprid/enum",
+ "version": "1.0.7",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/DASPRiD/Enum.git",
+ "reference": "b5874fa9ed0043116c72162ec7f4fb50e02e7cce"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/b5874fa9ed0043116c72162ec7f4fb50e02e7cce",
+ "reference": "b5874fa9ed0043116c72162ec7f4fb50e02e7cce",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1 <9.0"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^7 || ^8 || ^9 || ^10 || ^11",
+ "squizlabs/php_codesniffer": "*"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DASPRiD\\Enum\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-2-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Ben Scholzen 'DASPRiD'",
+ "email": "mail@dasprids.de",
+ "homepage": "https://dasprids.de/",
+ "role": "Developer"
+ }
+ ],
+ "description": "PHP 7.1 enum implementation",
+ "keywords": [
+ "enum",
+ "map"
+ ],
+ "support": {
+ "issues": "https://github.com/DASPRiD/Enum/issues",
+ "source": "https://github.com/DASPRiD/Enum/tree/1.0.7"
+ },
+ "time": "2025-09-16T12:23:56+00:00"
+ },
+ {
+ "name": "deeplcom/deepl-php",
+ "version": "v1.16.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/DeepLcom/deepl-php.git",
+ "reference": "4dd0a38676b9725dd80b86b71548b91d2c0f5a69"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/DeepLcom/deepl-php/zipball/4dd0a38676b9725dd80b86b71548b91d2c0f5a69",
+ "reference": "4dd0a38676b9725dd80b86b71548b91d2c0f5a69",
+ "shasum": ""
+ },
+ "require": {
+ "ext-curl": "*",
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "php": ">=7.3.0",
+ "php-http/discovery": "^1.18",
+ "php-http/multipart-stream-builder": "^1.3",
+ "psr/http-client": "^1.0",
+ "psr/http-client-implementation": "*",
+ "psr/http-factory-implementation": "*",
+ "psr/log": "^1.1 || ^2.0 || ^3.0"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "^3",
+ "guzzlehttp/guzzle": "^7.7.0",
+ "php-mock/php-mock-phpunit": "^2.6",
+ "phpunit/phpunit": "^9",
+ "ramsey/uuid": "^4.2",
+ "squizlabs/php_codesniffer": "^3.3"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "DeepL\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "DeepL SE",
+ "email": "open-source@deepl.com"
+ }
+ ],
+ "description": "Official DeepL API Client Library",
+ "keywords": [
+ "api",
+ "deepl",
+ "translation",
+ "translator"
+ ],
+ "support": {
+ "issues": "https://github.com/DeepLcom/deepl-php/issues",
+ "source": "https://github.com/DeepLcom/deepl-php/tree/v1.16.0"
+ },
+ "time": "2025-12-10T21:01:51+00:00"
},
{
"name": "dflydev/dot-access-data",
@@ -212,48 +380,40 @@
},
{
"name": "doctrine/dbal",
- "version": "3.10.2",
+ "version": "4.4.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "c6c16cf787eaba3112203dfcd715fa2059c62282"
+ "reference": "3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/c6c16cf787eaba3112203dfcd715fa2059c62282",
- "reference": "c6c16cf787eaba3112203dfcd715fa2059c62282",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c",
+ "reference": "3d544473fb93f5c25b483ea4f4ce99f8c4d9d44c",
"shasum": ""
},
"require": {
- "composer-runtime-api": "^2",
- "doctrine/deprecations": "^0.5.3|^1",
- "doctrine/event-manager": "^1|^2",
- "php": "^7.4 || ^8.0",
+ "doctrine/deprecations": "^1.1.5",
+ "php": "^8.2",
"psr/cache": "^1|^2|^3",
"psr/log": "^1|^2|^3"
},
- "conflict": {
- "doctrine/cache": "< 1.11"
- },
"require-dev": {
- "doctrine/cache": "^1.11|^2.0",
- "doctrine/coding-standard": "13.0.1",
+ "doctrine/coding-standard": "14.0.0",
"fig/log-test": "^1",
- "jetbrains/phpstorm-stubs": "2023.1",
- "phpstan/phpstan": "2.1.22",
+ "jetbrains/phpstorm-stubs": "2023.2",
+ "phpstan/phpstan": "2.1.30",
+ "phpstan/phpstan-phpunit": "2.0.7",
"phpstan/phpstan-strict-rules": "^2",
- "phpunit/phpunit": "9.6.23",
- "slevomat/coding-standard": "8.16.2",
- "squizlabs/php_codesniffer": "3.13.1",
- "symfony/cache": "^5.4|^6.0|^7.0",
- "symfony/console": "^4.4|^5.4|^6.0|^7.0"
+ "phpunit/phpunit": "11.5.23",
+ "slevomat/coding-standard": "8.24.0",
+ "squizlabs/php_codesniffer": "4.0.0",
+ "symfony/cache": "^6.3.8|^7.0|^8.0",
+ "symfony/console": "^5.4|^6.3|^7.0|^8.0"
},
"suggest": {
"symfony/console": "For helpful console commands such as SQL execution and import of files."
},
- "bin": [
- "bin/doctrine-dbal"
- ],
"type": "library",
"autoload": {
"psr-4": {
@@ -306,7 +466,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.10.2"
+ "source": "https://github.com/doctrine/dbal/tree/4.4.1"
},
"funding": [
{
@@ -322,7 +482,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-04T23:51:27+00:00"
+ "time": "2025-12-04T10:11:03+00:00"
},
{
"name": "doctrine/deprecations",
@@ -372,97 +532,6 @@
},
"time": "2025-04-07T20:06:18+00:00"
},
- {
- "name": "doctrine/event-manager",
- "version": "2.0.1",
- "source": {
- "type": "git",
- "url": "https://github.com/doctrine/event-manager.git",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e",
- "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e",
- "shasum": ""
- },
- "require": {
- "php": "^8.1"
- },
- "conflict": {
- "doctrine/common": "<2.9"
- },
- "require-dev": {
- "doctrine/coding-standard": "^12",
- "phpstan/phpstan": "^1.8.8",
- "phpunit/phpunit": "^10.5",
- "vimeo/psalm": "^5.24"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Doctrine\\Common\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Guilherme Blanco",
- "email": "guilhermeblanco@gmail.com"
- },
- {
- "name": "Roman Borschel",
- "email": "roman@code-factory.org"
- },
- {
- "name": "Benjamin Eberlei",
- "email": "kontakt@beberlei.de"
- },
- {
- "name": "Jonathan Wage",
- "email": "jonwage@gmail.com"
- },
- {
- "name": "Johannes Schmitt",
- "email": "schmittjoh@gmail.com"
- },
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com"
- }
- ],
- "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.",
- "homepage": "https://www.doctrine-project.org/projects/event-manager.html",
- "keywords": [
- "event",
- "event dispatcher",
- "event manager",
- "event system",
- "events"
- ],
- "support": {
- "issues": "https://github.com/doctrine/event-manager/issues",
- "source": "https://github.com/doctrine/event-manager/tree/2.0.1"
- },
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager",
- "type": "tidelift"
- }
- ],
- "time": "2024-05-22T20:47:39+00:00"
- },
{
"name": "doctrine/inflector",
"version": "2.1.0",
@@ -632,29 +701,28 @@
},
{
"name": "dragonmantank/cron-expression",
- "version": "v3.4.0",
+ "version": "v3.6.0",
"source": {
"type": "git",
"url": "https://github.com/dragonmantank/cron-expression.git",
- "reference": "8c784d071debd117328803d86b2097615b457500"
+ "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/8c784d071debd117328803d86b2097615b457500",
- "reference": "8c784d071debd117328803d86b2097615b457500",
+ "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/d61a8a9604ec1f8c3d150d09db6ce98b32675013",
+ "reference": "d61a8a9604ec1f8c3d150d09db6ce98b32675013",
"shasum": ""
},
"require": {
- "php": "^7.2|^8.0",
- "webmozart/assert": "^1.0"
+ "php": "^8.2|^8.3|^8.4|^8.5"
},
"replace": {
"mtdowling/cron-expression": "^1.0"
},
"require-dev": {
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^1.0",
- "phpunit/phpunit": "^7.0|^8.0|^9.0"
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^1.12.32|^2.1.31",
+ "phpunit/phpunit": "^8.5.48|^9.0"
},
"type": "library",
"extra": {
@@ -685,7 +753,7 @@
],
"support": {
"issues": "https://github.com/dragonmantank/cron-expression/issues",
- "source": "https://github.com/dragonmantank/cron-expression/tree/v3.4.0"
+ "source": "https://github.com/dragonmantank/cron-expression/tree/v3.6.0"
},
"funding": [
{
@@ -693,7 +761,7 @@
"type": "github"
}
],
- "time": "2024-10-09T13:47:03+00:00"
+ "time": "2025-10-31T18:51:33+00:00"
},
{
"name": "egulias/email-validator",
@@ -764,31 +832,31 @@
},
{
"name": "fruitcake/php-cors",
- "version": "v1.3.0",
+ "version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/fruitcake/php-cors.git",
- "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b"
+ "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b",
- "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b",
+ "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379",
+ "reference": "38aaa6c3fd4c157ffe2a4d10aa8b9b16ba8de379",
"shasum": ""
},
"require": {
- "php": "^7.4|^8.0",
- "symfony/http-foundation": "^4.4|^5.4|^6|^7"
+ "php": "^8.1",
+ "symfony/http-foundation": "^5.4|^6.4|^7.3|^8"
},
"require-dev": {
- "phpstan/phpstan": "^1.4",
+ "phpstan/phpstan": "^2",
"phpunit/phpunit": "^9",
- "squizlabs/php_codesniffer": "^3.5"
+ "squizlabs/php_codesniffer": "^4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.2-dev"
+ "dev-master": "1.3-dev"
}
},
"autoload": {
@@ -819,7 +887,7 @@
],
"support": {
"issues": "https://github.com/fruitcake/php-cors/issues",
- "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0"
+ "source": "https://github.com/fruitcake/php-cors/tree/v1.4.0"
},
"funding": [
{
@@ -831,28 +899,28 @@
"type": "github"
}
],
- "time": "2023-10-12T05:21:21+00:00"
+ "time": "2025-12-03T09:33:47+00:00"
},
{
"name": "graham-campbell/result-type",
- "version": "v1.1.3",
+ "version": "v1.1.4",
"source": {
"type": "git",
"url": "https://github.com/GrahamCampbell/Result-Type.git",
- "reference": "3ba905c11371512af9d9bdd27d99b782216b6945"
+ "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945",
- "reference": "3ba905c11371512af9d9bdd27d99b782216b6945",
+ "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/e01f4a821471308ba86aa202fed6698b6b695e3b",
+ "reference": "e01f4a821471308ba86aa202fed6698b6b695e3b",
"shasum": ""
},
"require": {
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.3"
+ "phpoption/phpoption": "^1.9.5"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28"
+ "phpunit/phpunit": "^8.5.41 || ^9.6.22 || ^10.5.45 || ^11.5.7"
},
"type": "library",
"autoload": {
@@ -881,7 +949,7 @@
],
"support": {
"issues": "https://github.com/GrahamCampbell/Result-Type/issues",
- "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3"
+ "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.4"
},
"funding": [
{
@@ -893,7 +961,7 @@
"type": "tidelift"
}
],
- "time": "2024-07-20T21:45:45+00:00"
+ "time": "2025-12-27T19:43:20+00:00"
},
{
"name": "guzzlehttp/guzzle",
@@ -1306,51 +1374,107 @@
],
"time": "2025-08-22T14:27:06+00:00"
},
+ {
+ "name": "intervention/gif",
+ "version": "4.2.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/Intervention/gif.git",
+ "reference": "5999eac6a39aa760fb803bc809e8909ee67b451a"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/Intervention/gif/zipball/5999eac6a39aa760fb803bc809e8909ee67b451a",
+ "reference": "5999eac6a39aa760fb803bc809e8909ee67b451a",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^8.1"
+ },
+ "require-dev": {
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0",
+ "slevomat/coding-standard": "~8.0",
+ "squizlabs/php_codesniffer": "^3.8"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Intervention\\Gif\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Oliver Vogel",
+ "email": "oliver@intervention.io",
+ "homepage": "https://intervention.io/"
+ }
+ ],
+ "description": "Native PHP GIF Encoder/Decoder",
+ "homepage": "https://github.com/intervention/gif",
+ "keywords": [
+ "animation",
+ "gd",
+ "gif",
+ "image"
+ ],
+ "support": {
+ "issues": "https://github.com/Intervention/gif/issues",
+ "source": "https://github.com/Intervention/gif/tree/4.2.2"
+ },
+ "funding": [
+ {
+ "url": "https://paypal.me/interventionio",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/Intervention",
+ "type": "github"
+ },
+ {
+ "url": "https://ko-fi.com/interventionphp",
+ "type": "ko_fi"
+ }
+ ],
+ "time": "2025-03-29T07:46:21+00:00"
+ },
{
"name": "intervention/image",
- "version": "2.7.2",
+ "version": "3.11.6",
"source": {
"type": "git",
"url": "https://github.com/Intervention/image.git",
- "reference": "04be355f8d6734c826045d02a1079ad658322dad"
+ "reference": "5f6d27d9fd56312c47f347929e7ac15345c605a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Intervention/image/zipball/04be355f8d6734c826045d02a1079ad658322dad",
- "reference": "04be355f8d6734c826045d02a1079ad658322dad",
+ "url": "https://api.github.com/repos/Intervention/image/zipball/5f6d27d9fd56312c47f347929e7ac15345c605a1",
+ "reference": "5f6d27d9fd56312c47f347929e7ac15345c605a1",
"shasum": ""
},
"require": {
- "ext-fileinfo": "*",
- "guzzlehttp/psr7": "~1.1 || ^2.0",
- "php": ">=5.4.0"
+ "ext-mbstring": "*",
+ "intervention/gif": "^4.2",
+ "php": "^8.1"
},
"require-dev": {
- "mockery/mockery": "~0.9.2",
- "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15"
+ "mockery/mockery": "^1.6",
+ "phpstan/phpstan": "^2.1",
+ "phpunit/phpunit": "^10.0 || ^11.0 || ^12.0",
+ "slevomat/coding-standard": "~8.0",
+ "squizlabs/php_codesniffer": "^3.8"
},
"suggest": {
- "ext-gd": "to use GD library based image processing.",
- "ext-imagick": "to use Imagick based image processing.",
- "intervention/imagecache": "Caching extension for the Intervention Image library"
+ "ext-exif": "Recommended to be able to read EXIF data properly."
},
"type": "library",
- "extra": {
- "laravel": {
- "aliases": {
- "Image": "Intervention\\Image\\Facades\\Image"
- },
- "providers": [
- "Intervention\\Image\\ImageServiceProvider"
- ]
- },
- "branch-alias": {
- "dev-master": "2.4-dev"
- }
- },
"autoload": {
"psr-4": {
- "Intervention\\Image\\": "src/Intervention/Image"
+ "Intervention\\Image\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1361,22 +1485,22 @@
{
"name": "Oliver Vogel",
"email": "oliver@intervention.io",
- "homepage": "https://intervention.io/"
+ "homepage": "https://intervention.io"
}
],
- "description": "Image handling and manipulation library with support for Laravel integration",
- "homepage": "http://image.intervention.io/",
+ "description": "PHP Image Processing",
+ "homepage": "https://image.intervention.io",
"keywords": [
"gd",
"image",
"imagick",
- "laravel",
+ "resize",
"thumbnail",
"watermark"
],
"support": {
"issues": "https://github.com/Intervention/image/issues",
- "source": "https://github.com/Intervention/image/tree/2.7.2"
+ "source": "https://github.com/Intervention/image/tree/3.11.6"
},
"funding": [
{
@@ -1386,32 +1510,35 @@
{
"url": "https://github.com/Intervention",
"type": "github"
+ },
+ {
+ "url": "https://ko-fi.com/interventionphp",
+ "type": "ko_fi"
}
],
- "time": "2022-05-21T17:30:32+00:00"
+ "time": "2025-12-17T13:38:29+00:00"
},
{
"name": "jenssegers/imagehash",
- "version": "v0.8.0",
+ "version": "v0.11.0",
"source": {
"type": "git",
"url": "https://github.com/jenssegers/imagehash.git",
- "reference": "dfe3cdc0a0828f046f20103288a76f9554fe2265"
+ "reference": "87ba7051d2fca2edc718091f052424474dedfeae"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/jenssegers/imagehash/zipball/dfe3cdc0a0828f046f20103288a76f9554fe2265",
- "reference": "dfe3cdc0a0828f046f20103288a76f9554fe2265",
+ "url": "https://api.github.com/repos/jenssegers/imagehash/zipball/87ba7051d2fca2edc718091f052424474dedfeae",
+ "reference": "87ba7051d2fca2edc718091f052424474dedfeae",
"shasum": ""
},
"require": {
- "intervention/image": "^2.4",
- "php": "^7.1|^8.0",
- "phpseclib/phpseclib": "^3.0"
+ "intervention/image": "^3.3",
+ "php": "^8.2"
},
"require-dev": {
"php-coveralls/php-coveralls": "^2.0",
- "phpunit/phpunit": "^7|^8|^9"
+ "phpunit/phpunit": "^11.5.3"
},
"suggest": {
"ext-gd": "GD or ImageMagick is required",
@@ -1450,7 +1577,7 @@
],
"support": {
"issues": "https://github.com/jenssegers/imagehash/issues",
- "source": "https://github.com/jenssegers/imagehash/tree/v0.8.0"
+ "source": "https://github.com/jenssegers/imagehash/tree/v0.11.0"
},
"funding": [
{
@@ -1462,27 +1589,153 @@
"type": "tidelift"
}
],
- "time": "2021-11-29T08:52:27+00:00"
+ "time": "2025-09-17T09:15:58+00:00"
+ },
+ {
+ "name": "kirschbaum-development/eloquent-power-joins",
+ "version": "4.2.11",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/kirschbaum-development/eloquent-power-joins.git",
+ "reference": "0e3e3372992e4bf82391b3c7b84b435c3db73588"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/kirschbaum-development/eloquent-power-joins/zipball/0e3e3372992e4bf82391b3c7b84b435c3db73588",
+ "reference": "0e3e3372992e4bf82391b3c7b84b435c3db73588",
+ "shasum": ""
+ },
+ "require": {
+ "illuminate/database": "^11.42|^12.0",
+ "illuminate/support": "^11.42|^12.0",
+ "php": "^8.2"
+ },
+ "require-dev": {
+ "friendsofphp/php-cs-fixer": "dev-master",
+ "laravel/legacy-factories": "^1.0@dev",
+ "orchestra/testbench": "^9.0|^10.0",
+ "phpunit/phpunit": "^10.0|^11.0"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Kirschbaum\\PowerJoins\\PowerJoinsServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Kirschbaum\\PowerJoins\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Luis Dalmolin",
+ "email": "luis.nh@gmail.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "The Laravel magic applied to joins.",
+ "homepage": "https://github.com/kirschbaum-development/eloquent-power-joins",
+ "keywords": [
+ "eloquent",
+ "join",
+ "laravel",
+ "mysql"
+ ],
+ "support": {
+ "issues": "https://github.com/kirschbaum-development/eloquent-power-joins/issues",
+ "source": "https://github.com/kirschbaum-development/eloquent-power-joins/tree/4.2.11"
+ },
+ "time": "2025-12-17T00:37:48+00:00"
+ },
+ {
+ "name": "laravel/fortify",
+ "version": "v1.33.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/fortify.git",
+ "reference": "e0666dabeec0b6428678af1d51f436dcfb24e3a9"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/fortify/zipball/e0666dabeec0b6428678af1d51f436dcfb24e3a9",
+ "reference": "e0666dabeec0b6428678af1d51f436dcfb24e3a9",
+ "shasum": ""
+ },
+ "require": {
+ "bacon/bacon-qr-code": "^3.0",
+ "ext-json": "*",
+ "illuminate/support": "^10.0|^11.0|^12.0",
+ "php": "^8.1",
+ "pragmarx/google2fa": "^9.0",
+ "symfony/console": "^6.0|^7.0"
+ },
+ "require-dev": {
+ "orchestra/testbench": "^8.36|^9.15|^10.8",
+ "phpstan/phpstan": "^1.10"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Laravel\\Fortify\\FortifyServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Fortify\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "Backend controllers and scaffolding for Laravel authentication.",
+ "keywords": [
+ "auth",
+ "laravel"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/fortify/issues",
+ "source": "https://github.com/laravel/fortify"
+ },
+ "time": "2025-12-15T14:48:33+00:00"
},
{
"name": "laravel/framework",
- "version": "v10.49.0",
+ "version": "v12.44.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "b6848517f93445e7f243aaa4f3c32cc70f6739e2"
+ "reference": "592bbf1c036042958332eb98e3e8131b29102f33"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/b6848517f93445e7f243aaa4f3c32cc70f6739e2",
- "reference": "b6848517f93445e7f243aaa4f3c32cc70f6739e2",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/592bbf1c036042958332eb98e3e8131b29102f33",
+ "reference": "592bbf1c036042958332eb98e3e8131b29102f33",
"shasum": ""
},
"require": {
- "brick/math": "^0.9.3|^0.10.2|^0.11|^0.12",
+ "brick/math": "^0.11|^0.12|^0.13|^0.14",
"composer-runtime-api": "^2.2",
"doctrine/inflector": "^2.0.5",
- "dragonmantank/cron-expression": "^3.3.2",
+ "dragonmantank/cron-expression": "^3.4",
"egulias/email-validator": "^3.2.1|^4.0",
"ext-ctype": "*",
"ext-filter": "*",
@@ -1491,44 +1744,47 @@
"ext-openssl": "*",
"ext-session": "*",
"ext-tokenizer": "*",
- "fruitcake/php-cors": "^1.2",
+ "fruitcake/php-cors": "^1.3",
+ "guzzlehttp/guzzle": "^7.8.2",
"guzzlehttp/uri-template": "^1.0",
- "laravel/prompts": "^0.1.9",
- "laravel/serializable-closure": "^1.3",
- "league/commonmark": "^2.2.1",
- "league/flysystem": "^3.8.0",
+ "laravel/prompts": "^0.3.0",
+ "laravel/serializable-closure": "^1.3|^2.0",
+ "league/commonmark": "^2.7",
+ "league/flysystem": "^3.25.1",
+ "league/flysystem-local": "^3.25.1",
+ "league/uri": "^7.5.1",
"monolog/monolog": "^3.0",
- "nesbot/carbon": "^2.67",
- "nunomaduro/termwind": "^1.13",
- "php": "^8.1",
+ "nesbot/carbon": "^3.8.4",
+ "nunomaduro/termwind": "^2.0",
+ "php": "^8.2",
"psr/container": "^1.1.1|^2.0.1",
"psr/log": "^1.0|^2.0|^3.0",
"psr/simple-cache": "^1.0|^2.0|^3.0",
"ramsey/uuid": "^4.7",
- "symfony/console": "^6.2",
- "symfony/error-handler": "^6.2",
- "symfony/finder": "^6.2",
- "symfony/http-foundation": "^6.4",
- "symfony/http-kernel": "^6.2",
- "symfony/mailer": "^6.2",
- "symfony/mime": "^6.2",
- "symfony/process": "^6.2",
- "symfony/routing": "^6.2",
- "symfony/uid": "^6.2",
- "symfony/var-dumper": "^6.2",
+ "symfony/console": "^7.2.0",
+ "symfony/error-handler": "^7.2.0",
+ "symfony/finder": "^7.2.0",
+ "symfony/http-foundation": "^7.2.0",
+ "symfony/http-kernel": "^7.2.0",
+ "symfony/mailer": "^7.2.0",
+ "symfony/mime": "^7.2.0",
+ "symfony/polyfill-php83": "^1.33",
+ "symfony/polyfill-php84": "^1.33",
+ "symfony/polyfill-php85": "^1.33",
+ "symfony/process": "^7.2.0",
+ "symfony/routing": "^7.2.0",
+ "symfony/uid": "^7.2.0",
+ "symfony/var-dumper": "^7.2.0",
"tijsverkoyen/css-to-inline-styles": "^2.2.5",
- "vlucas/phpdotenv": "^5.4.1",
- "voku/portable-ascii": "^2.0"
+ "vlucas/phpdotenv": "^5.6.1",
+ "voku/portable-ascii": "^2.0.2"
},
"conflict": {
- "carbonphp/carbon-doctrine-types": ">=3.0",
- "doctrine/dbal": ">=4.0",
- "mockery/mockery": "1.6.8",
- "phpunit/phpunit": ">=11.0.0",
"tightenco/collect": "<5.5.33"
},
"provide": {
"psr/container-implementation": "1.1|2.0",
+ "psr/log-implementation": "1.0|2.0|3.0",
"psr/simple-cache-implementation": "1.0|2.0|3.0"
},
"replace": {
@@ -1537,6 +1793,7 @@
"illuminate/bus": "self.version",
"illuminate/cache": "self.version",
"illuminate/collections": "self.version",
+ "illuminate/concurrency": "self.version",
"illuminate/conditionable": "self.version",
"illuminate/config": "self.version",
"illuminate/console": "self.version",
@@ -1549,6 +1806,7 @@
"illuminate/filesystem": "self.version",
"illuminate/hashing": "self.version",
"illuminate/http": "self.version",
+ "illuminate/json-schema": "self.version",
"illuminate/log": "self.version",
"illuminate/macroable": "self.version",
"illuminate/mail": "self.version",
@@ -1558,42 +1816,47 @@
"illuminate/process": "self.version",
"illuminate/queue": "self.version",
"illuminate/redis": "self.version",
+ "illuminate/reflection": "self.version",
"illuminate/routing": "self.version",
"illuminate/session": "self.version",
"illuminate/support": "self.version",
"illuminate/testing": "self.version",
"illuminate/translation": "self.version",
"illuminate/validation": "self.version",
- "illuminate/view": "self.version"
+ "illuminate/view": "self.version",
+ "spatie/once": "*"
},
"require-dev": {
"ably/ably-php": "^1.0",
- "aws/aws-sdk-php": "^3.235.5",
- "doctrine/dbal": "^3.5.1",
+ "aws/aws-sdk-php": "^3.322.9",
"ext-gmp": "*",
- "fakerphp/faker": "^1.21",
- "guzzlehttp/guzzle": "^7.5",
- "league/flysystem-aws-s3-v3": "^3.0",
- "league/flysystem-ftp": "^3.0",
- "league/flysystem-path-prefixing": "^3.3",
- "league/flysystem-read-only": "^3.3",
- "league/flysystem-sftp-v3": "^3.0",
- "mockery/mockery": "^1.5.1",
- "nyholm/psr7": "^1.2",
- "orchestra/testbench-core": "^8.23.4",
- "pda/pheanstalk": "^4.0",
- "phpstan/phpstan": "~1.11.11",
- "phpunit/phpunit": "^10.0.7",
- "predis/predis": "^2.0.2",
- "symfony/cache": "^6.2",
- "symfony/http-client": "^6.2.4",
- "symfony/psr-http-message-bridge": "^2.0"
+ "fakerphp/faker": "^1.24",
+ "guzzlehttp/promises": "^2.0.3",
+ "guzzlehttp/psr7": "^2.4",
+ "laravel/pint": "^1.18",
+ "league/flysystem-aws-s3-v3": "^3.25.1",
+ "league/flysystem-ftp": "^3.25.1",
+ "league/flysystem-path-prefixing": "^3.25.1",
+ "league/flysystem-read-only": "^3.25.1",
+ "league/flysystem-sftp-v3": "^3.25.1",
+ "mockery/mockery": "^1.6.10",
+ "opis/json-schema": "^2.4.1",
+ "orchestra/testbench-core": "^10.8.1",
+ "pda/pheanstalk": "^5.0.6|^7.0.0",
+ "php-http/discovery": "^1.15",
+ "phpstan/phpstan": "^2.0",
+ "phpunit/phpunit": "^10.5.35|^11.5.3|^12.0.1",
+ "predis/predis": "^2.3|^3.0",
+ "resend/resend-php": "^0.10.0|^1.0",
+ "symfony/cache": "^7.2.0",
+ "symfony/http-client": "^7.2.0",
+ "symfony/psr-http-message-bridge": "^7.2.0",
+ "symfony/translation": "^7.2.0"
},
"suggest": {
"ably/ably-php": "Required to use the Ably broadcast driver (^1.0).",
- "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).",
- "brianium/paratest": "Required to run tests in parallel (^6.0).",
- "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).",
+ "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.322.9).",
+ "brianium/paratest": "Required to run tests in parallel (^7.0|^8.0).",
"ext-apcu": "Required to use the APC cache driver.",
"ext-fileinfo": "Required to use the Filesystem class.",
"ext-ftp": "Required to use the Flysystem FTP driver.",
@@ -1602,34 +1865,34 @@
"ext-pcntl": "Required to use all features of the queue worker and console signal trapping.",
"ext-pdo": "Required to use all database features.",
"ext-posix": "Required to use all features of the queue worker.",
- "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).",
- "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).",
+ "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0|^6.0).",
+ "fakerphp/faker": "Required to generate fake data using the fake() helper (^1.23).",
"filp/whoops": "Required for friendly error pages in development (^2.14.3).",
- "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).",
"laravel/tinker": "Required to use the tinker console command (^2.0).",
- "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).",
- "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).",
- "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).",
- "league/flysystem-read-only": "Required to use read-only disks (^3.3)",
- "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).",
- "mockery/mockery": "Required to use mocking (^1.5.1).",
- "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).",
- "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).",
- "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8|^10.0.7).",
- "predis/predis": "Required to use the predis connector (^2.0.2).",
+ "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.25.1).",
+ "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.25.1).",
+ "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.25.1).",
+ "league/flysystem-read-only": "Required to use read-only disks (^3.25.1)",
+ "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.25.1).",
+ "mockery/mockery": "Required to use mocking (^1.6).",
+ "pda/pheanstalk": "Required to use the beanstalk queue driver (^5.0).",
+ "php-http/discovery": "Required to use PSR-7 bridging features (^1.15).",
+ "phpunit/phpunit": "Required to use assertions and run tests (^10.5.35|^11.5.3|^12.0.1).",
+ "predis/predis": "Required to use the predis connector (^2.3|^3.0).",
"psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).",
"pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).",
- "symfony/cache": "Required to PSR-6 cache bridge (^6.2).",
- "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).",
- "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.2).",
- "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.2).",
- "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.2).",
- "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)."
+ "resend/resend-php": "Required to enable support for the Resend mail transport (^0.10.0|^1.0).",
+ "symfony/cache": "Required to PSR-6 cache bridge (^7.2).",
+ "symfony/filesystem": "Required to enable support for relative symbolic links (^7.2).",
+ "symfony/http-client": "Required to enable support for the Symfony API mail transports (^7.2).",
+ "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^7.2).",
+ "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^7.2).",
+ "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^7.2)."
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "10.x-dev"
+ "dev-master": "12.x-dev"
}
},
"autoload": {
@@ -1639,6 +1902,9 @@
"src/Illuminate/Events/functions.php",
"src/Illuminate/Filesystem/functions.php",
"src/Illuminate/Foundation/helpers.php",
+ "src/Illuminate/Log/functions.php",
+ "src/Illuminate/Reflection/helpers.php",
+ "src/Illuminate/Support/functions.php",
"src/Illuminate/Support/helpers.php"
],
"psr-4": {
@@ -1646,7 +1912,8 @@
"Illuminate\\Support\\": [
"src/Illuminate/Macroable/",
"src/Illuminate/Collections/",
- "src/Illuminate/Conditionable/"
+ "src/Illuminate/Conditionable/",
+ "src/Illuminate/Reflection/"
]
}
},
@@ -1670,25 +1937,25 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2025-09-08T22:02:05+00:00"
+ "time": "2025-12-23T15:29:43+00:00"
},
{
"name": "laravel/prompts",
- "version": "v0.1.25",
+ "version": "v0.3.8",
"source": {
"type": "git",
"url": "https://github.com/laravel/prompts.git",
- "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95"
+ "reference": "096748cdfb81988f60090bbb839ce3205ace0d35"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95",
- "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95",
+ "url": "https://api.github.com/repos/laravel/prompts/zipball/096748cdfb81988f60090bbb839ce3205ace0d35",
+ "reference": "096748cdfb81988f60090bbb839ce3205ace0d35",
"shasum": ""
},
"require": {
+ "composer-runtime-api": "^2.2",
"ext-mbstring": "*",
- "illuminate/collections": "^10.0|^11.0",
"php": "^8.1",
"symfony/console": "^6.2|^7.0"
},
@@ -1697,10 +1964,11 @@
"laravel/framework": ">=10.17.0 <10.25.0"
},
"require-dev": {
+ "illuminate/collections": "^10.0|^11.0|^12.0",
"mockery/mockery": "^1.5",
- "pestphp/pest": "^2.3",
- "phpstan/phpstan": "^1.11",
- "phpstan/phpstan-mockery": "^1.1"
+ "pestphp/pest": "^2.3|^3.4|^4.0",
+ "phpstan/phpstan": "^1.12.28",
+ "phpstan/phpstan-mockery": "^1.1.3"
},
"suggest": {
"ext-pcntl": "Required for the spinner to be animated."
@@ -1708,7 +1976,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "0.1.x-dev"
+ "dev-main": "0.3.x-dev"
}
},
"autoload": {
@@ -1726,38 +1994,101 @@
"description": "Add beautiful and user-friendly forms to your command-line applications.",
"support": {
"issues": "https://github.com/laravel/prompts/issues",
- "source": "https://github.com/laravel/prompts/tree/v0.1.25"
+ "source": "https://github.com/laravel/prompts/tree/v0.3.8"
+ },
+ "time": "2025-11-21T20:52:52+00:00"
+ },
+ {
+ "name": "laravel/sanctum",
+ "version": "v4.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/laravel/sanctum.git",
+ "reference": "f5fb373be39a246c74a060f2cf2ae2c2145b3664"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/laravel/sanctum/zipball/f5fb373be39a246c74a060f2cf2ae2c2145b3664",
+ "reference": "f5fb373be39a246c74a060f2cf2ae2c2145b3664",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "illuminate/console": "^11.0|^12.0",
+ "illuminate/contracts": "^11.0|^12.0",
+ "illuminate/database": "^11.0|^12.0",
+ "illuminate/support": "^11.0|^12.0",
+ "php": "^8.2",
+ "symfony/console": "^7.0"
+ },
+ "require-dev": {
+ "mockery/mockery": "^1.6",
+ "orchestra/testbench": "^9.15|^10.8",
+ "phpstan/phpstan": "^1.10"
+ },
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Laravel\\Sanctum\\SanctumServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Sanctum\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ }
+ ],
+ "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.",
+ "keywords": [
+ "auth",
+ "laravel",
+ "sanctum"
+ ],
+ "support": {
+ "issues": "https://github.com/laravel/sanctum/issues",
+ "source": "https://github.com/laravel/sanctum"
},
- "time": "2024-08-12T22:06:33+00:00"
+ "time": "2025-11-21T13:59:03+00:00"
},
{
"name": "laravel/serializable-closure",
- "version": "v1.3.7",
+ "version": "v2.0.7",
"source": {
"type": "git",
"url": "https://github.com/laravel/serializable-closure.git",
- "reference": "4f48ade902b94323ca3be7646db16209ec76be3d"
+ "reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/4f48ade902b94323ca3be7646db16209ec76be3d",
- "reference": "4f48ade902b94323ca3be7646db16209ec76be3d",
+ "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
+ "reference": "cb291e4c998ac50637c7eeb58189c14f5de5b9dd",
"shasum": ""
},
"require": {
- "php": "^7.3|^8.0"
+ "php": "^8.1"
},
"require-dev": {
- "illuminate/support": "^8.0|^9.0|^10.0|^11.0",
- "nesbot/carbon": "^2.61|^3.0",
- "pestphp/pest": "^1.21.3",
- "phpstan/phpstan": "^1.8.2",
- "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0"
+ "illuminate/support": "^10.0|^11.0|^12.0",
+ "nesbot/carbon": "^2.67|^3.0",
+ "pestphp/pest": "^2.36|^3.0|^4.0",
+ "phpstan/phpstan": "^2.0",
+ "symfony/var-dumper": "^6.2.0|^7.0.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.x-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
@@ -1789,49 +2120,49 @@
"issues": "https://github.com/laravel/serializable-closure/issues",
"source": "https://github.com/laravel/serializable-closure"
},
- "time": "2024-11-14T18:34:49+00:00"
+ "time": "2025-11-21T20:52:36+00:00"
},
{
- "name": "laravel/ui",
- "version": "v4.6.1",
+ "name": "laravel/tinker",
+ "version": "v2.10.2",
"source": {
"type": "git",
- "url": "https://github.com/laravel/ui.git",
- "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88"
+ "url": "https://github.com/laravel/tinker.git",
+ "reference": "3bcb5f62d6f837e0f093a601e26badafb127bd4c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/ui/zipball/7d6ffa38d79f19c9b3e70a751a9af845e8f41d88",
- "reference": "7d6ffa38d79f19c9b3e70a751a9af845e8f41d88",
+ "url": "https://api.github.com/repos/laravel/tinker/zipball/3bcb5f62d6f837e0f093a601e26badafb127bd4c",
+ "reference": "3bcb5f62d6f837e0f093a601e26badafb127bd4c",
"shasum": ""
},
"require": {
- "illuminate/console": "^9.21|^10.0|^11.0|^12.0",
- "illuminate/filesystem": "^9.21|^10.0|^11.0|^12.0",
- "illuminate/support": "^9.21|^10.0|^11.0|^12.0",
- "illuminate/validation": "^9.21|^10.0|^11.0|^12.0",
- "php": "^8.0",
- "symfony/console": "^6.0|^7.0"
+ "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0",
+ "php": "^7.2.5|^8.0",
+ "psy/psysh": "^0.11.1|^0.12.0",
+ "symfony/var-dumper": "^4.3.4|^5.0|^6.0|^7.0"
},
"require-dev": {
- "orchestra/testbench": "^7.35|^8.15|^9.0|^10.0",
- "phpunit/phpunit": "^9.3|^10.4|^11.5"
+ "mockery/mockery": "~1.3.3|^1.4.2",
+ "phpstan/phpstan": "^1.10",
+ "phpunit/phpunit": "^8.5.8|^9.3.3|^10.0"
+ },
+ "suggest": {
+ "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0|^11.0|^12.0)."
},
"type": "library",
"extra": {
"laravel": {
"providers": [
- "Laravel\\Ui\\UiServiceProvider"
+ "Laravel\\Tinker\\TinkerServiceProvider"
]
- },
- "branch-alias": {
- "dev-master": "4.x-dev"
}
},
"autoload": {
"psr-4": {
- "Laravel\\Ui\\": "src/",
- "Illuminate\\Foundation\\Auth\\": "auth-backend/"
+ "Laravel\\Tinker\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -1844,28 +2175,31 @@
"email": "taylor@laravel.com"
}
],
- "description": "Laravel UI utilities and presets.",
+ "description": "Powerful REPL for the Laravel framework.",
"keywords": [
+ "REPL",
+ "Tinker",
"laravel",
- "ui"
+ "psysh"
],
"support": {
- "source": "https://github.com/laravel/ui/tree/v4.6.1"
+ "issues": "https://github.com/laravel/tinker/issues",
+ "source": "https://github.com/laravel/tinker/tree/v2.10.2"
},
- "time": "2025-01-28T15:15:29+00:00"
+ "time": "2025-11-20T16:29:12+00:00"
},
{
"name": "league/commonmark",
- "version": "2.7.1",
+ "version": "2.8.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/commonmark.git",
- "reference": "10732241927d3971d28e7ea7b5712721fa2296ca"
+ "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/10732241927d3971d28e7ea7b5712721fa2296ca",
- "reference": "10732241927d3971d28e7ea7b5712721fa2296ca",
+ "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/4efa10c1e56488e658d10adf7b7b7dcd19940bfb",
+ "reference": "4efa10c1e56488e658d10adf7b7b7dcd19940bfb",
"shasum": ""
},
"require": {
@@ -1902,7 +2236,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "2.8-dev"
+ "dev-main": "2.9-dev"
}
},
"autoload": {
@@ -1959,7 +2293,7 @@
"type": "tidelift"
}
],
- "time": "2025-07-20T12:47:49+00:00"
+ "time": "2025-11-26T21:48:24+00:00"
},
{
"name": "league/config",
@@ -2045,16 +2379,16 @@
},
{
"name": "league/flysystem",
- "version": "3.30.0",
+ "version": "3.30.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "2203e3151755d874bb2943649dae1eb8533ac93e"
+ "reference": "5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/2203e3151755d874bb2943649dae1eb8533ac93e",
- "reference": "2203e3151755d874bb2943649dae1eb8533ac93e",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277",
+ "reference": "5966a8ba23e62bdb518dd9e0e665c2dbd4b5b277",
"shasum": ""
},
"require": {
@@ -2122,22 +2456,22 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/3.30.0"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.30.2"
},
- "time": "2025-06-25T13:29:59+00:00"
+ "time": "2025-11-10T17:13:11+00:00"
},
{
"name": "league/flysystem-local",
- "version": "3.30.0",
+ "version": "3.30.2",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-local.git",
- "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10"
+ "reference": "ab4f9d0d672f601b102936aa728801dd1a11968d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/6691915f77c7fb69adfb87dcd550052dc184ee10",
- "reference": "6691915f77c7fb69adfb87dcd550052dc184ee10",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/ab4f9d0d672f601b102936aa728801dd1a11968d",
+ "reference": "ab4f9d0d672f601b102936aa728801dd1a11968d",
"shasum": ""
},
"require": {
@@ -2171,52 +2505,37 @@
"local"
],
"support": {
- "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.0"
+ "source": "https://github.com/thephpleague/flysystem-local/tree/3.30.2"
},
- "time": "2025-05-21T10:34:19+00:00"
+ "time": "2025-11-10T11:23:37+00:00"
},
{
- "name": "league/fractal",
- "version": "0.20.2",
+ "name": "league/mime-type-detection",
+ "version": "1.16.0",
"source": {
"type": "git",
- "url": "https://github.com/thephpleague/fractal.git",
- "reference": "573ca2e0e348a7fe573a3e8fbc29a6588ece8c4e"
+ "url": "https://github.com/thephpleague/mime-type-detection.git",
+ "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/fractal/zipball/573ca2e0e348a7fe573a3e8fbc29a6588ece8c4e",
- "reference": "573ca2e0e348a7fe573a3e8fbc29a6588ece8c4e",
+ "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9",
+ "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9",
"shasum": ""
},
"require": {
- "php": ">=7.4"
+ "ext-fileinfo": "*",
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
- "doctrine/orm": "^2.5",
- "illuminate/contracts": "~5.0",
- "laminas/laminas-paginator": "~2.12",
- "mockery/mockery": "^1.3",
- "pagerfanta/pagerfanta": "~1.0.0|~4.0.0",
- "phpstan/phpstan": "^1.4",
- "phpunit/phpunit": "^9.5",
- "squizlabs/php_codesniffer": "~3.4",
- "vimeo/psalm": "^4.30"
- },
- "suggest": {
- "illuminate/pagination": "The Illuminate Pagination component.",
- "laminas/laminas-paginator": "Laminas Framework Paginator",
- "pagerfanta/pagerfanta": "Pagerfanta Paginator"
+ "friendsofphp/php-cs-fixer": "^3.2",
+ "phpstan/phpstan": "^0.12.68",
+ "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "0.20.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "League\\Fractal\\": "src"
+ "League\\MimeTypeDetection\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2225,53 +2544,72 @@
],
"authors": [
{
- "name": "Phil Sturgeon",
- "email": "me@philsturgeon.uk",
- "homepage": "http://philsturgeon.uk/",
- "role": "Developer"
+ "name": "Frank de Jonge",
+ "email": "info@frankdejonge.nl"
}
],
- "description": "Handle the output of complex data structures ready for API output.",
- "homepage": "http://fractal.thephpleague.com/",
- "keywords": [
- "api",
- "json",
- "league",
- "rest"
- ],
+ "description": "Mime-type detection for Flysystem",
"support": {
- "issues": "https://github.com/thephpleague/fractal/issues",
- "source": "https://github.com/thephpleague/fractal/tree/0.20.2"
+ "issues": "https://github.com/thephpleague/mime-type-detection/issues",
+ "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0"
},
- "time": "2025-02-14T21:33:14+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-09-21T08:32:55+00:00"
},
{
- "name": "league/mime-type-detection",
- "version": "1.16.0",
+ "name": "league/uri",
+ "version": "7.7.0",
"source": {
"type": "git",
- "url": "https://github.com/thephpleague/mime-type-detection.git",
- "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9"
+ "url": "https://github.com/thephpleague/uri.git",
+ "reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/2d6702ff215bf922936ccc1ad31007edc76451b9",
- "reference": "2d6702ff215bf922936ccc1ad31007edc76451b9",
+ "url": "https://api.github.com/repos/thephpleague/uri/zipball/8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
+ "reference": "8d587cddee53490f9b82bf203d3a9aa7ea4f9807",
"shasum": ""
},
"require": {
- "ext-fileinfo": "*",
- "php": "^7.4 || ^8.0"
+ "league/uri-interfaces": "^7.7",
+ "php": "^8.1",
+ "psr/http-factory": "^1"
},
- "require-dev": {
- "friendsofphp/php-cs-fixer": "^3.2",
- "phpstan/phpstan": "^0.12.68",
- "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0"
+ "conflict": {
+ "league/uri-schemes": "^1.0"
+ },
+ "suggest": {
+ "ext-bcmath": "to improve IPV4 host parsing",
+ "ext-dom": "to convert the URI into an HTML anchor tag",
+ "ext-fileinfo": "to create Data URI from file contennts",
+ "ext-gmp": "to improve IPV4 host parsing",
+ "ext-intl": "to handle IDN host with the best performance",
+ "ext-uri": "to use the PHP native URI class",
+ "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain",
+ "league/uri-components": "Needed to easily manipulate URI objects components",
+ "league/uri-polyfill": "Needed to backport the PHP URI extension for older versions of PHP",
+ "php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle WHATWG URL",
+ "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "League\\MimeTypeDetection\\": "src"
+ "League\\Uri\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2280,99 +2618,147 @@
],
"authors": [
{
- "name": "Frank de Jonge",
- "email": "info@frankdejonge.nl"
+ "name": "Ignace Nyamagana Butera",
+ "email": "nyamsprod@gmail.com",
+ "homepage": "https://nyamsprod.com"
}
],
- "description": "Mime-type detection for Flysystem",
+ "description": "URI manipulation library",
+ "homepage": "https://uri.thephpleague.com",
+ "keywords": [
+ "URN",
+ "data-uri",
+ "file-uri",
+ "ftp",
+ "hostname",
+ "http",
+ "https",
+ "middleware",
+ "parse_str",
+ "parse_url",
+ "psr-7",
+ "query-string",
+ "querystring",
+ "rfc2141",
+ "rfc3986",
+ "rfc3987",
+ "rfc6570",
+ "rfc8141",
+ "uri",
+ "uri-template",
+ "url",
+ "ws"
+ ],
"support": {
- "issues": "https://github.com/thephpleague/mime-type-detection/issues",
- "source": "https://github.com/thephpleague/mime-type-detection/tree/1.16.0"
+ "docs": "https://uri.thephpleague.com",
+ "forum": "https://thephpleague.slack.com",
+ "issues": "https://github.com/thephpleague/uri-src/issues",
+ "source": "https://github.com/thephpleague/uri/tree/7.7.0"
},
"funding": [
{
- "url": "https://github.com/frankdejonge",
+ "url": "https://github.com/sponsors/nyamsprod",
"type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/league/flysystem",
- "type": "tidelift"
}
],
- "time": "2024-09-21T08:32:55+00:00"
+ "time": "2025-12-07T16:02:06+00:00"
},
{
- "name": "mediawiki/oauthclient",
- "version": "2.3.0",
+ "name": "league/uri-interfaces",
+ "version": "7.7.0",
"source": {
"type": "git",
- "url": "https://github.com/wikimedia/mediawiki-oauthclient-php.git",
- "reference": "15e81485ecd3566c5fddee23bcbdd9dd93c7886b"
+ "url": "https://github.com/thephpleague/uri-interfaces.git",
+ "reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/wikimedia/mediawiki-oauthclient-php/zipball/15e81485ecd3566c5fddee23bcbdd9dd93c7886b",
- "reference": "15e81485ecd3566c5fddee23bcbdd9dd93c7886b",
+ "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
+ "reference": "62ccc1a0435e1c54e10ee6022df28d6c04c2946c",
"shasum": ""
},
"require": {
- "ext-curl": "*",
- "ext-json": "*",
- "php": ">=7.4",
- "psr/log": "^1.0||^2.0||^3.0"
+ "ext-filter": "*",
+ "php": "^8.1",
+ "psr/http-message": "^1.1 || ^2.0"
},
- "require-dev": {
- "mediawiki/mediawiki-codesniffer": "47.0.0",
- "mediawiki/minus-x": "1.1.3",
- "php-parallel-lint/php-console-highlighter": "1.0.0",
- "php-parallel-lint/php-parallel-lint": "1.4.0",
- "phpunit/phpunit": "9.6.21"
+ "suggest": {
+ "ext-bcmath": "to improve IPV4 host parsing",
+ "ext-gmp": "to improve IPV4 host parsing",
+ "ext-intl": "to handle IDN host with the best performance",
+ "php-64bit": "to improve IPV4 host parsing",
+ "rowbot/url": "to handle WHATWG URL",
+ "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present"
},
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "7.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "MediaWiki\\OAuthClient\\": "src/"
+ "League\\Uri\\": ""
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "GPL-3.0-or-later"
+ "MIT"
],
"authors": [
{
- "name": "Andy Smith",
- "homepage": "http://termie.pbworks.com/w/page/20571888/AndySmith"
- },
- {
- "name": "Chris Steipp",
- "email": "csteipp@wikimedia.org"
- },
- {
- "name": "Bryan Davis",
- "email": "bd808@wikimedia.org"
+ "name": "Ignace Nyamagana Butera",
+ "email": "nyamsprod@gmail.com",
+ "homepage": "https://nyamsprod.com"
}
],
- "description": "PHP OAuth client for use with Wikipedia and other MediaWiki-based wikis running the OAuth extension",
- "homepage": "https://www.mediawiki.org/wiki/oauthclient-php",
+ "description": "Common tools for parsing and resolving RFC3987/RFC3986 URI",
+ "homepage": "https://uri.thephpleague.com",
+ "keywords": [
+ "data-uri",
+ "file-uri",
+ "ftp",
+ "hostname",
+ "http",
+ "https",
+ "parse_str",
+ "parse_url",
+ "psr-7",
+ "query-string",
+ "querystring",
+ "rfc3986",
+ "rfc3987",
+ "rfc6570",
+ "uri",
+ "url",
+ "ws"
+ ],
"support": {
- "docs": "https://www.mediawiki.org/wiki/oauthclient-php",
- "issues": "https://phabricator.wikimedia.org/tag/oauth/",
- "source": "https://github.com/wikimedia/oauthclient-php/"
+ "docs": "https://uri.thephpleague.com",
+ "forum": "https://thephpleague.slack.com",
+ "issues": "https://github.com/thephpleague/uri-src/issues",
+ "source": "https://github.com/thephpleague/uri-interfaces/tree/7.7.0"
},
- "time": "2025-07-08T12:43:45+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/nyamsprod",
+ "type": "github"
+ }
+ ],
+ "time": "2025-12-07T16:03:21+00:00"
},
{
"name": "monolog/monolog",
- "version": "3.9.0",
+ "version": "3.10.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6"
+ "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/10d85740180ecba7896c87e06a166e0c95a0e3b6",
- "reference": "10d85740180ecba7896c87e06a166e0c95a0e3b6",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/b321dd6749f0bf7189444158a3ce785cc16d69b0",
+ "reference": "b321dd6749f0bf7189444158a3ce785cc16d69b0",
"shasum": ""
},
"require": {
@@ -2390,7 +2776,7 @@
"graylog2/gelf-php": "^1.4.2 || ^2.0",
"guzzlehttp/guzzle": "^7.4.5",
"guzzlehttp/psr7": "^2.2",
- "mongodb/mongodb": "^1.8",
+ "mongodb/mongodb": "^1.8 || ^2.0",
"php-amqplib/php-amqplib": "~2.4 || ^3",
"php-console/php-console": "^3.1.8",
"phpstan/phpstan": "^2",
@@ -2450,7 +2836,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.9.0"
+ "source": "https://github.com/Seldaek/monolog/tree/3.10.0"
},
"funding": [
{
@@ -2462,46 +2848,44 @@
"type": "tidelift"
}
],
- "time": "2025-03-24T10:02:05+00:00"
+ "time": "2026-01-02T08:56:05+00:00"
},
{
"name": "nesbot/carbon",
- "version": "2.73.0",
+ "version": "3.11.0",
"source": {
"type": "git",
"url": "https://github.com/CarbonPHP/carbon.git",
- "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075"
+ "reference": "bdb375400dcd162624531666db4799b36b64e4a1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/9228ce90e1035ff2f0db84b40ec2e023ed802075",
- "reference": "9228ce90e1035ff2f0db84b40ec2e023ed802075",
+ "url": "https://api.github.com/repos/CarbonPHP/carbon/zipball/bdb375400dcd162624531666db4799b36b64e4a1",
+ "reference": "bdb375400dcd162624531666db4799b36b64e4a1",
"shasum": ""
},
"require": {
- "carbonphp/carbon-doctrine-types": "*",
+ "carbonphp/carbon-doctrine-types": "<100.0",
"ext-json": "*",
- "php": "^7.1.8 || ^8.0",
+ "php": "^8.1",
"psr/clock": "^1.0",
+ "symfony/clock": "^6.3.12 || ^7.0 || ^8.0",
"symfony/polyfill-mbstring": "^1.0",
- "symfony/polyfill-php80": "^1.16",
- "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0"
+ "symfony/translation": "^4.4.18 || ^5.2.1 || ^6.0 || ^7.0 || ^8.0"
},
"provide": {
"psr/clock-implementation": "1.0"
},
"require-dev": {
- "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0",
- "doctrine/orm": "^2.7 || ^3.0",
- "friendsofphp/php-cs-fixer": "^3.0",
- "kylekatarnls/multi-tester": "^2.0",
- "ondrejmirtes/better-reflection": "<6",
- "phpmd/phpmd": "^2.9",
- "phpstan/extension-installer": "^1.0",
- "phpstan/phpstan": "^0.12.99 || ^1.7.14",
- "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6",
- "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20",
- "squizlabs/php_codesniffer": "^3.4"
+ "doctrine/dbal": "^3.6.3 || ^4.0",
+ "doctrine/orm": "^2.15.2 || ^3.0",
+ "friendsofphp/php-cs-fixer": "^v3.87.1",
+ "kylekatarnls/multi-tester": "^2.5.3",
+ "phpmd/phpmd": "^2.15.0",
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^2.1.22",
+ "phpunit/phpunit": "^10.5.53",
+ "squizlabs/php_codesniffer": "^3.13.4"
},
"bin": [
"bin/carbon"
@@ -2552,8 +2936,8 @@
],
"support": {
"docs": "https://carbon.nesbot.com/docs",
- "issues": "https://github.com/briannesbitt/Carbon/issues",
- "source": "https://github.com/briannesbitt/Carbon"
+ "issues": "https://github.com/CarbonPHP/carbon/issues",
+ "source": "https://github.com/CarbonPHP/carbon"
},
"funding": [
{
@@ -2569,29 +2953,29 @@
"type": "tidelift"
}
],
- "time": "2025-01-08T20:10:23+00:00"
+ "time": "2025-12-02T21:04:28+00:00"
},
{
"name": "nette/schema",
- "version": "v1.3.2",
+ "version": "v1.3.3",
"source": {
"type": "git",
"url": "https://github.com/nette/schema.git",
- "reference": "da801d52f0354f70a638673c4a0f04e16529431d"
+ "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/schema/zipball/da801d52f0354f70a638673c4a0f04e16529431d",
- "reference": "da801d52f0354f70a638673c4a0f04e16529431d",
+ "url": "https://api.github.com/repos/nette/schema/zipball/2befc2f42d7c715fd9d95efc31b1081e5d765004",
+ "reference": "2befc2f42d7c715fd9d95efc31b1081e5d765004",
"shasum": ""
},
"require": {
"nette/utils": "^4.0",
- "php": "8.1 - 8.4"
+ "php": "8.1 - 8.5"
},
"require-dev": {
"nette/tester": "^2.5.2",
- "phpstan/phpstan-nette": "^1.0",
+ "phpstan/phpstan-nette": "^2.0@stable",
"tracy/tracy": "^2.8"
},
"type": "library",
@@ -2601,7 +2985,10 @@
}
},
"autoload": {
- "classmap": [
+ "psr-4": {
+ "Nette\\": "src"
+ },
+ "classmap": [
"src/"
]
},
@@ -2629,26 +3016,26 @@
],
"support": {
"issues": "https://github.com/nette/schema/issues",
- "source": "https://github.com/nette/schema/tree/v1.3.2"
+ "source": "https://github.com/nette/schema/tree/v1.3.3"
},
- "time": "2024-10-06T23:10:23+00:00"
+ "time": "2025-10-30T22:57:59+00:00"
},
{
"name": "nette/utils",
- "version": "v4.0.8",
+ "version": "v4.1.1",
"source": {
"type": "git",
"url": "https://github.com/nette/utils.git",
- "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede"
+ "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nette/utils/zipball/c930ca4e3cf4f17dcfb03037703679d2396d2ede",
- "reference": "c930ca4e3cf4f17dcfb03037703679d2396d2ede",
+ "url": "https://api.github.com/repos/nette/utils/zipball/c99059c0315591f1a0db7ad6002000288ab8dc72",
+ "reference": "c99059c0315591f1a0db7ad6002000288ab8dc72",
"shasum": ""
},
"require": {
- "php": "8.0 - 8.5"
+ "php": "8.2 - 8.5"
},
"conflict": {
"nette/finder": "<3",
@@ -2671,7 +3058,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-master": "4.1-dev"
}
},
"autoload": {
@@ -2718,132 +3105,114 @@
],
"support": {
"issues": "https://github.com/nette/utils/issues",
- "source": "https://github.com/nette/utils/tree/v4.0.8"
+ "source": "https://github.com/nette/utils/tree/v4.1.1"
},
- "time": "2025-08-06T21:43:34+00:00"
+ "time": "2025-12-22T12:14:32+00:00"
},
{
- "name": "nunomaduro/termwind",
- "version": "v1.17.0",
+ "name": "nikic/php-parser",
+ "version": "v5.7.0",
"source": {
"type": "git",
- "url": "https://github.com/nunomaduro/termwind.git",
- "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301"
+ "url": "https://github.com/nikic/PHP-Parser.git",
+ "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/5369ef84d8142c1d87e4ec278711d4ece3cbf301",
- "reference": "5369ef84d8142c1d87e4ec278711d4ece3cbf301",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
+ "reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
"shasum": ""
},
"require": {
- "ext-mbstring": "*",
- "php": "^8.1",
- "symfony/console": "^6.4.15"
+ "ext-ctype": "*",
+ "ext-json": "*",
+ "ext-tokenizer": "*",
+ "php": ">=7.4"
},
"require-dev": {
- "illuminate/console": "^10.48.24",
- "illuminate/support": "^10.48.24",
- "laravel/pint": "^1.18.2",
- "pestphp/pest": "^2.36.0",
- "pestphp/pest-plugin-mock": "2.0.0",
- "phpstan/phpstan": "^1.12.11",
- "phpstan/phpstan-strict-rules": "^1.6.1",
- "symfony/var-dumper": "^6.4.15",
- "thecodingmachine/phpstan-strict-rules": "^1.0.0"
+ "ircmaxell/php-yacc": "^0.0.7",
+ "phpunit/phpunit": "^9.0"
},
+ "bin": [
+ "bin/php-parse"
+ ],
"type": "library",
"extra": {
- "laravel": {
- "providers": [
- "Termwind\\Laravel\\TermwindServiceProvider"
- ]
+ "branch-alias": {
+ "dev-master": "5.x-dev"
}
},
"autoload": {
- "files": [
- "src/Functions.php"
- ],
"psr-4": {
- "Termwind\\": "src/"
+ "PhpParser\\": "lib/PhpParser"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
+ "name": "Nikita Popov"
}
],
- "description": "Its like Tailwind CSS, but for the console.",
+ "description": "A PHP parser written in PHP",
"keywords": [
- "cli",
- "console",
- "css",
- "package",
- "php",
- "style"
+ "parser",
+ "php"
],
"support": {
- "issues": "https://github.com/nunomaduro/termwind/issues",
- "source": "https://github.com/nunomaduro/termwind/tree/v1.17.0"
+ "issues": "https://github.com/nikic/PHP-Parser/issues",
+ "source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
},
- "funding": [
- {
- "url": "https://www.paypal.com/paypalme/enunomaduro",
- "type": "custom"
- },
- {
- "url": "https://github.com/nunomaduro",
- "type": "github"
- },
- {
- "url": "https://github.com/xiCO2k",
- "type": "github"
- }
- ],
- "time": "2024-11-21T10:36:35+00:00"
+ "time": "2025-12-06T11:56:16+00:00"
},
{
- "name": "octfx/deeply",
- "version": "3.1.4",
+ "name": "nunomaduro/termwind",
+ "version": "v2.3.3",
"source": {
"type": "git",
- "url": "https://github.com/octfx/DeepLy.git",
- "reference": "a649872d227898b9c49b668c72b957060f95532a"
+ "url": "https://github.com/nunomaduro/termwind.git",
+ "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/octfx/DeepLy/zipball/a649872d227898b9c49b668c72b957060f95532a",
- "reference": "a649872d227898b9c49b668c72b957060f95532a",
+ "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/6fb2a640ff502caace8e05fd7be3b503a7e1c017",
+ "reference": "6fb2a640ff502caace8e05fd7be3b503a7e1c017",
"shasum": ""
},
"require": {
- "ext-json": "*",
"ext-mbstring": "*",
- "guzzlehttp/guzzle": "^6.3||^7.0",
- "php": ">=7.2"
+ "php": "^8.2",
+ "symfony/console": "^7.3.6"
},
"require-dev": {
- "phpunit/phpunit": "5.7"
+ "illuminate/console": "^11.46.1",
+ "laravel/pint": "^1.25.1",
+ "mockery/mockery": "^1.6.12",
+ "pestphp/pest": "^2.36.0 || ^3.8.4 || ^4.1.3",
+ "phpstan/phpstan": "^1.12.32",
+ "phpstan/phpstan-strict-rules": "^1.6.2",
+ "symfony/var-dumper": "^7.3.5",
+ "thecodingmachine/phpstan-strict-rules": "^1.0.0"
},
"type": "library",
"extra": {
"laravel": {
- "aliases": {
- "DeepLy": "Octfx\\DeepLy\\Integrations\\Laravel\\DeepLyFacade"
- },
"providers": [
- "Octfx\\DeepLy\\Integrations\\Laravel\\DeepLyServiceProvider"
+ "Termwind\\Laravel\\TermwindServiceProvider"
]
+ },
+ "branch-alias": {
+ "dev-2.x": "2.x-dev"
}
},
"autoload": {
+ "files": [
+ "src/Functions.php"
+ ],
"psr-4": {
- "Octfx\\DeepLy\\": "src/"
+ "Termwind\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -2852,51 +3221,61 @@
],
"authors": [
{
- "name": "Chris Konnertz"
- },
- {
- "name": "Octfx"
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "DeepLy is a PHP client for the DeepL.com translation API v2",
+ "description": "Its like Tailwind CSS, but for the console.",
"keywords": [
- "api",
- "client",
- "deepl",
- "deeply",
- "english",
- "french",
- "german",
- "language",
- "translate",
- "translation"
+ "cli",
+ "console",
+ "css",
+ "package",
+ "php",
+ "style"
],
"support": {
- "issues": "https://github.com/octfx/DeepLy/issues",
- "source": "https://github.com/octfx/DeepLy/tree/v3.1.4"
+ "issues": "https://github.com/nunomaduro/termwind/issues",
+ "source": "https://github.com/nunomaduro/termwind/tree/v2.3.3"
},
- "time": "2021-11-17T13:39:43+00:00"
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/xiCO2k",
+ "type": "github"
+ }
+ ],
+ "time": "2025-11-20T02:34:59+00:00"
},
{
"name": "paragonie/constant_time_encoding",
- "version": "v3.0.0",
+ "version": "v3.1.3",
"source": {
"type": "git",
"url": "https://github.com/paragonie/constant_time_encoding.git",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512"
+ "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/df1e7fde177501eee2037dd159cf04f5f301a512",
- "reference": "df1e7fde177501eee2037dd159cf04f5f301a512",
+ "url": "https://api.github.com/repos/paragonie/constant_time_encoding/zipball/d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
+ "reference": "d5b01a39b3415c2cd581d3bd3a3575c1ebbd8e77",
"shasum": ""
},
"require": {
"php": "^8"
},
"require-dev": {
- "phpunit/phpunit": "^9",
- "vimeo/psalm": "^4|^5"
+ "infection/infection": "^0",
+ "nikic/php-fuzzer": "^0",
+ "phpunit/phpunit": "^9|^10|^11",
+ "vimeo/psalm": "^4|^5|^6"
},
"type": "library",
"autoload": {
@@ -2942,70 +3321,155 @@
"issues": "https://github.com/paragonie/constant_time_encoding/issues",
"source": "https://github.com/paragonie/constant_time_encoding"
},
- "time": "2024-05-08T12:36:18+00:00"
+ "time": "2025-09-24T15:06:41+00:00"
},
{
- "name": "paragonie/random_compat",
- "version": "v9.99.100",
+ "name": "php-http/discovery",
+ "version": "1.20.0",
"source": {
"type": "git",
- "url": "https://github.com/paragonie/random_compat.git",
- "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a"
+ "url": "https://github.com/php-http/discovery.git",
+ "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/random_compat/zipball/996434e5492cb4c3edcb9168db6fbb1359ef965a",
- "reference": "996434e5492cb4c3edcb9168db6fbb1359ef965a",
+ "url": "https://api.github.com/repos/php-http/discovery/zipball/82fe4c73ef3363caed49ff8dd1539ba06044910d",
+ "reference": "82fe4c73ef3363caed49ff8dd1539ba06044910d",
"shasum": ""
},
"require": {
- "php": ">= 7"
+ "composer-plugin-api": "^1.0|^2.0",
+ "php": "^7.1 || ^8.0"
+ },
+ "conflict": {
+ "nyholm/psr7": "<1.0",
+ "zendframework/zend-diactoros": "*"
+ },
+ "provide": {
+ "php-http/async-client-implementation": "*",
+ "php-http/client-implementation": "*",
+ "psr/http-client-implementation": "*",
+ "psr/http-factory-implementation": "*",
+ "psr/http-message-implementation": "*"
},
"require-dev": {
- "phpunit/phpunit": "4.*|5.*",
- "vimeo/psalm": "^1"
+ "composer/composer": "^1.0.2|^2.0",
+ "graham-campbell/phpspec-skip-example-extension": "^5.0",
+ "php-http/httplug": "^1.0 || ^2.0",
+ "php-http/message-factory": "^1.0",
+ "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3",
+ "sebastian/comparator": "^3.0.5 || ^4.0.8",
+ "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Http\\Discovery\\Composer\\Plugin",
+ "plugin-optional": true
},
- "suggest": {
- "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes."
+ "autoload": {
+ "psr-4": {
+ "Http\\Discovery\\": "src/"
+ },
+ "exclude-from-classmap": [
+ "src/Composer/Plugin.php"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Márk Sági-Kazár",
+ "email": "mark.sagikazar@gmail.com"
+ }
+ ],
+ "description": "Finds and installs PSR-7, PSR-17, PSR-18 and HTTPlug implementations",
+ "homepage": "http://php-http.org",
+ "keywords": [
+ "adapter",
+ "client",
+ "discovery",
+ "factory",
+ "http",
+ "message",
+ "psr17",
+ "psr7"
+ ],
+ "support": {
+ "issues": "https://github.com/php-http/discovery/issues",
+ "source": "https://github.com/php-http/discovery/tree/1.20.0"
+ },
+ "time": "2024-10-02T11:20:13+00:00"
+ },
+ {
+ "name": "php-http/multipart-stream-builder",
+ "version": "1.4.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/php-http/multipart-stream-builder.git",
+ "reference": "10086e6de6f53489cca5ecc45b6f468604d3460e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/php-http/multipart-stream-builder/zipball/10086e6de6f53489cca5ecc45b6f468604d3460e",
+ "reference": "10086e6de6f53489cca5ecc45b6f468604d3460e",
+ "shasum": ""
+ },
+ "require": {
+ "php": "^7.1 || ^8.0",
+ "php-http/discovery": "^1.15",
+ "psr/http-factory-implementation": "^1.0"
+ },
+ "require-dev": {
+ "nyholm/psr7": "^1.0",
+ "php-http/message": "^1.5",
+ "php-http/message-factory": "^1.0.2",
+ "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.3"
},
"type": "library",
+ "autoload": {
+ "psr-4": {
+ "Http\\Message\\MultipartStream\\": "src/"
+ }
+ },
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
- "name": "Paragon Initiative Enterprises",
- "email": "security@paragonie.com",
- "homepage": "https://paragonie.com"
+ "name": "Tobias Nyholm",
+ "email": "tobias.nyholm@gmail.com"
}
],
- "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7",
+ "description": "A builder class that help you create a multipart stream",
+ "homepage": "http://php-http.org",
"keywords": [
- "csprng",
- "polyfill",
- "pseudorandom",
- "random"
+ "factory",
+ "http",
+ "message",
+ "multipart stream",
+ "stream"
],
"support": {
- "email": "info@paragonie.com",
- "issues": "https://github.com/paragonie/random_compat/issues",
- "source": "https://github.com/paragonie/random_compat"
+ "issues": "https://github.com/php-http/multipart-stream-builder/issues",
+ "source": "https://github.com/php-http/multipart-stream-builder/tree/1.4.2"
},
- "time": "2020-10-15T08:29:30+00:00"
+ "time": "2024-09-04T13:22:54+00:00"
},
{
"name": "phpoption/phpoption",
- "version": "1.9.4",
+ "version": "1.9.5",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
- "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d"
+ "reference": "75365b91986c2405cf5e1e012c5595cd487a98be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
- "reference": "638a154f8d4ee6a5cfa96d6a34dfbe0cffa9566d",
+ "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/75365b91986c2405cf5e1e012c5595cd487a98be",
+ "reference": "75365b91986c2405cf5e1e012c5595cd487a98be",
"shasum": ""
},
"require": {
@@ -3055,7 +3519,7 @@
],
"support": {
"issues": "https://github.com/schmittjoh/php-option/issues",
- "source": "https://github.com/schmittjoh/php-option/tree/1.9.4"
+ "source": "https://github.com/schmittjoh/php-option/tree/1.9.5"
},
"funding": [
{
@@ -3067,44 +3531,34 @@
"type": "tidelift"
}
],
- "time": "2025-08-21T11:53:16+00:00"
+ "time": "2025-12-27T19:41:33+00:00"
},
{
- "name": "phpseclib/phpseclib",
- "version": "3.0.46",
+ "name": "pragmarx/google2fa",
+ "version": "v9.0.0",
"source": {
"type": "git",
- "url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6"
+ "url": "https://github.com/antonioribeiro/google2fa.git",
+ "reference": "e6bc62dd6ae83acc475f57912e27466019a1f2cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6",
- "reference": "56483a7de62a6c2a6635e42e93b8a9e25d4f0ec6",
+ "url": "https://api.github.com/repos/antonioribeiro/google2fa/zipball/e6bc62dd6ae83acc475f57912e27466019a1f2cf",
+ "reference": "e6bc62dd6ae83acc475f57912e27466019a1f2cf",
"shasum": ""
},
"require": {
- "paragonie/constant_time_encoding": "^1|^2|^3",
- "paragonie/random_compat": "^1.4|^2.0|^9.99.99",
- "php": ">=5.6.1"
+ "paragonie/constant_time_encoding": "^1.0|^2.0|^3.0",
+ "php": "^7.1|^8.0"
},
"require-dev": {
- "phpunit/phpunit": "*"
- },
- "suggest": {
- "ext-dom": "Install the DOM extension to load XML formatted public keys.",
- "ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
- "ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
- "ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
- "ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
+ "phpstan/phpstan": "^1.9",
+ "phpunit/phpunit": "^7.5.15|^8.5|^9.0"
},
"type": "library",
"autoload": {
- "files": [
- "phpseclib/bootstrap.php"
- ],
"psr-4": {
- "phpseclib3\\": "phpseclib/"
+ "PragmaRX\\Google2FA\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -3113,71 +3567,23 @@
],
"authors": [
{
- "name": "Jim Wigginton",
- "email": "terrafrost@php.net",
- "role": "Lead Developer"
- },
- {
- "name": "Patrick Monnerat",
- "email": "pm@datasphere.ch",
- "role": "Developer"
- },
- {
- "name": "Andreas Fischer",
- "email": "bantu@phpbb.com",
- "role": "Developer"
- },
- {
- "name": "Hans-Jürgen Petrich",
- "email": "petrich@tronic-media.com",
- "role": "Developer"
- },
- {
- "name": "Graham Campbell",
- "email": "graham@alt-three.com",
- "role": "Developer"
+ "name": "Antonio Carlos Ribeiro",
+ "email": "acr@antoniocarlosribeiro.com",
+ "role": "Creator & Designer"
}
],
- "description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
- "homepage": "http://phpseclib.sourceforge.net",
+ "description": "A One Time Password Authentication package, compatible with Google Authenticator.",
"keywords": [
- "BigInteger",
- "aes",
- "asn.1",
- "asn1",
- "blowfish",
- "crypto",
- "cryptography",
- "encryption",
- "rsa",
- "security",
- "sftp",
- "signature",
- "signing",
- "ssh",
- "twofish",
- "x.509",
- "x509"
+ "2fa",
+ "Authentication",
+ "Two Factor Authentication",
+ "google2fa"
],
"support": {
- "issues": "https://github.com/phpseclib/phpseclib/issues",
- "source": "https://github.com/phpseclib/phpseclib/tree/3.0.46"
+ "issues": "https://github.com/antonioribeiro/google2fa/issues",
+ "source": "https://github.com/antonioribeiro/google2fa/tree/v9.0.0"
},
- "funding": [
- {
- "url": "https://github.com/terrafrost",
- "type": "github"
- },
- {
- "url": "https://www.patreon.com/phpseclib",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/phpseclib/phpseclib",
- "type": "tidelift"
- }
- ],
- "time": "2025-06-26T16:29:55+00:00"
+ "time": "2025-09-19T22:51:08+00:00"
},
{
"name": "psr/cache",
@@ -3640,6 +4046,85 @@
},
"time": "2021-10-29T13:26:27+00:00"
},
+ {
+ "name": "psy/psysh",
+ "version": "v0.12.18",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/bobthecow/psysh.git",
+ "reference": "ddff0ac01beddc251786fe70367cd8bbdb258196"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/ddff0ac01beddc251786fe70367cd8bbdb258196",
+ "reference": "ddff0ac01beddc251786fe70367cd8bbdb258196",
+ "shasum": ""
+ },
+ "require": {
+ "ext-json": "*",
+ "ext-tokenizer": "*",
+ "nikic/php-parser": "^5.0 || ^4.0",
+ "php": "^8.0 || ^7.4",
+ "symfony/console": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4",
+ "symfony/var-dumper": "^8.0 || ^7.0 || ^6.0 || ^5.0 || ^4.0 || ^3.4"
+ },
+ "conflict": {
+ "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4"
+ },
+ "require-dev": {
+ "bamarni/composer-bin-plugin": "^1.2",
+ "composer/class-map-generator": "^1.6"
+ },
+ "suggest": {
+ "composer/class-map-generator": "Improved tab completion performance with better class discovery.",
+ "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)",
+ "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well."
+ },
+ "bin": [
+ "bin/psysh"
+ ],
+ "type": "library",
+ "extra": {
+ "bamarni-bin": {
+ "bin-links": false,
+ "forward-command": false
+ },
+ "branch-alias": {
+ "dev-main": "0.12.x-dev"
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/functions.php"
+ ],
+ "psr-4": {
+ "Psy\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Justin Hileman",
+ "email": "justin@justinhileman.info"
+ }
+ ],
+ "description": "An interactive shell for modern PHP.",
+ "homepage": "https://psysh.org",
+ "keywords": [
+ "REPL",
+ "console",
+ "interactive",
+ "shell"
+ ],
+ "support": {
+ "issues": "https://github.com/bobthecow/psysh/issues",
+ "source": "https://github.com/bobthecow/psysh/tree/v0.12.18"
+ },
+ "time": "2025-12-17T14:35:46+00:00"
+ },
{
"name": "ralouphie/getallheaders",
"version": "3.0.3",
@@ -3762,20 +4247,20 @@
},
{
"name": "ramsey/uuid",
- "version": "4.9.1",
+ "version": "4.9.2",
"source": {
"type": "git",
"url": "https://github.com/ramsey/uuid.git",
- "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440"
+ "reference": "8429c78ca35a09f27565311b98101e2826affde0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/ramsey/uuid/zipball/81f941f6f729b1e3ceea61d9d014f8b6c6800440",
- "reference": "81f941f6f729b1e3ceea61d9d014f8b6c6800440",
+ "url": "https://api.github.com/repos/ramsey/uuid/zipball/8429c78ca35a09f27565311b98101e2826affde0",
+ "reference": "8429c78ca35a09f27565311b98101e2826affde0",
"shasum": ""
},
"require": {
- "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14",
+ "brick/math": "^0.8.16 || ^0.9 || ^0.10 || ^0.11 || ^0.12 || ^0.13 || ^0.14",
"php": "^8.0",
"ramsey/collection": "^1.2 || ^2.0"
},
@@ -3834,75 +4319,74 @@
],
"support": {
"issues": "https://github.com/ramsey/uuid/issues",
- "source": "https://github.com/ramsey/uuid/tree/4.9.1"
+ "source": "https://github.com/ramsey/uuid/tree/4.9.2"
},
- "time": "2025-09-04T20:59:21+00:00"
+ "time": "2025-12-14T04:43:48+00:00"
},
{
- "name": "sebastian/diff",
- "version": "4.0.6",
+ "name": "spatie/laravel-json-api-paginate",
+ "version": "1.16.3",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc"
+ "url": "https://github.com/spatie/laravel-json-api-paginate.git",
+ "reference": "2acf8b754e088285f1a29fdd5b2295769aee76f4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc",
- "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc",
+ "url": "https://api.github.com/repos/spatie/laravel-json-api-paginate/zipball/2acf8b754e088285f1a29fdd5b2295769aee76f4",
+ "reference": "2acf8b754e088285f1a29fdd5b2295769aee76f4",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "illuminate/support": "^10.0|^11.0|^12.0",
+ "php": "^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3",
- "symfony/process": "^4.2 || ^5"
+ "orchestra/testbench": "^8.21.1|^9.0|^10.0",
+ "pestphp/pest": "^2.34|^3.7",
+ "phpunit/phpunit": "^9.0|^10.5.10|^11.5.3"
},
"type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "4.0-dev"
+ "laravel": {
+ "providers": [
+ "Spatie\\JsonApiPaginate\\JsonApiPaginateServiceProvider"
+ ]
}
},
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "Spatie\\JsonApiPaginate\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- },
- {
- "name": "Kore Nordmann",
- "email": "mail@kore-nordmann.de"
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
}
],
- "description": "Diff implementation",
- "homepage": "https://github.com/sebastianbergmann/diff",
+ "description": "A paginator that plays nice with the JSON API spec",
+ "homepage": "https://github.com/spatie/laravel-json-api-paginate",
"keywords": [
- "diff",
- "udiff",
- "unidiff",
- "unified diff"
+ "laravel-json-api-paginate",
+ "spatie"
],
"support": {
- "issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6"
+ "source": "https://github.com/spatie/laravel-json-api-paginate/tree/1.16.3"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
+ "url": "https://spatie.be/open-source/support-us",
+ "type": "custom"
}
],
- "time": "2024-03-02T06:30:58+00:00"
+ "time": "2025-02-25T20:27:30+00:00"
},
{
"name": "spatie/laravel-package-tools",
@@ -3967,32 +4451,33 @@
},
{
"name": "spatie/laravel-query-builder",
- "version": "5.8.1",
+ "version": "6.3.6",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-query-builder.git",
- "reference": "caa8467fa9e127ba7ea9e0aac93c71324365bae2"
+ "reference": "b9a5af31c79ae8fb79ae0aa8ba2b9e7180f39481"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-query-builder/zipball/caa8467fa9e127ba7ea9e0aac93c71324365bae2",
- "reference": "caa8467fa9e127ba7ea9e0aac93c71324365bae2",
+ "url": "https://api.github.com/repos/spatie/laravel-query-builder/zipball/b9a5af31c79ae8fb79ae0aa8ba2b9e7180f39481",
+ "reference": "b9a5af31c79ae8fb79ae0aa8ba2b9e7180f39481",
"shasum": ""
},
"require": {
- "illuminate/database": "^10.0|^11.0",
- "illuminate/http": "^10.0|^11.0",
- "illuminate/support": "^10.0|^11.0",
+ "illuminate/database": "^10.0|^11.0|^12.0",
+ "illuminate/http": "^10.0|^11.0|^12.0",
+ "illuminate/support": "^10.0|^11.0|^12.0",
"php": "^8.2",
"spatie/laravel-package-tools": "^1.11"
},
"require-dev": {
"ext-json": "*",
+ "larastan/larastan": "^2.7 || ^3.3",
"mockery/mockery": "^1.4",
- "orchestra/testbench": "^7.0|^8.0",
- "pestphp/pest": "^2.0",
- "spatie/invade": "^2.0",
- "spatie/laravel-ray": "^1.28"
+ "orchestra/testbench": "^7.0|^8.0|^10.0",
+ "pestphp/pest": "^2.0|^3.7|^4.0",
+ "phpunit/phpunit": "^10.0|^11.5.3|^12.0",
+ "spatie/invade": "^2.0"
},
"type": "library",
"extra": {
@@ -4036,89 +4521,114 @@
"type": "custom"
}
],
- "time": "2024-05-10T08:19:35+00:00"
+ "time": "2025-10-20T09:50:21+00:00"
},
{
- "name": "starcitizenwiki/mediawikiapi",
- "version": "dev-develop",
+ "name": "spatie/laravel-translatable",
+ "version": "6.12.0",
"source": {
"type": "git",
- "url": "https://github.com/StarCitizenWiki/LaravelMediawikiApi.git",
- "reference": "1dfe2bad50b89a469a6503ecf78b5f1bdbe2a3c6"
+ "url": "https://github.com/spatie/laravel-translatable.git",
+ "reference": "8fc0c1dd5ab4013c27a28e5d5590f2ce849bd349"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/StarCitizenWiki/LaravelMediawikiApi/zipball/1dfe2bad50b89a469a6503ecf78b5f1bdbe2a3c6",
- "reference": "1dfe2bad50b89a469a6503ecf78b5f1bdbe2a3c6",
+ "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/8fc0c1dd5ab4013c27a28e5d5590f2ce849bd349",
+ "reference": "8fc0c1dd5ab4013c27a28e5d5590f2ce849bd349",
"shasum": ""
},
"require": {
- "guzzlehttp/guzzle": "^6.0||^7.0.1",
- "mediawiki/oauthclient": "^1.1.0||^2.0||dev-master",
- "php": ">=7.4"
+ "illuminate/database": "^11.0|^12.0",
+ "illuminate/support": "^11.0|^12.0",
+ "php": "^8.3",
+ "spatie/laravel-package-tools": "^1.92.7"
},
"require-dev": {
- "mockery/mockery": "~1.0",
- "phpunit/phpunit": "^9.2.6"
+ "friendsofphp/php-cs-fixer": "^3.90",
+ "mockery/mockery": "^1.6.12",
+ "orchestra/testbench": "^9.0|^10.0",
+ "pestphp/pest": "^4.0.0"
},
- "default-branch": true,
"type": "library",
"extra": {
+ "aliases": {
+ "Translatable": "Spatie\\Translatable\\Facades\\Translatable"
+ },
"laravel": {
- "aliases": {
- "MediaWikiApi": "StarCitizenWiki\\MediaWikiApi\\Facades\\MediaWikiApi"
- },
"providers": [
- "StarCitizenWiki\\MediaWikiApi\\ApiServiceProvider"
+ "Spatie\\Translatable\\TranslatableServiceProvider"
]
}
},
"autoload": {
"psr-4": {
- "StarCitizenWiki\\MediaWikiApi\\": "src/"
+ "Spatie\\Translatable\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
"authors": [
{
- "name": "Hannes",
- "email": "hannes@octofox.de"
+ "name": "Freek Van der Herten",
+ "email": "freek@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
+ },
+ {
+ "name": "Sebastian De Deyne",
+ "email": "sebastian@spatie.be",
+ "homepage": "https://spatie.be",
+ "role": "Developer"
}
],
- "description": "Laravel Package to interact with a Mediawiki Installation through the API, authenticated via OAuth",
+ "description": "A trait to make an Eloquent model hold translations",
+ "homepage": "https://github.com/spatie/laravel-translatable",
+ "keywords": [
+ "eloquent",
+ "i8n",
+ "laravel-translatable",
+ "model",
+ "multilingual",
+ "spatie",
+ "translate"
+ ],
"support": {
- "issues": "https://github.com/StarCitizenWiki/LaravelMediawikiApi/issues",
- "source": "https://github.com/StarCitizenWiki/LaravelMediawikiApi/tree/develop"
+ "issues": "https://github.com/spatie/laravel-translatable/issues",
+ "source": "https://github.com/spatie/laravel-translatable/tree/6.12.0"
},
- "time": "2023-05-26T11:09:34+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/spatie",
+ "type": "github"
+ }
+ ],
+ "time": "2025-11-24T15:57:48+00:00"
},
{
"name": "symfony/browser-kit",
- "version": "v5.4.45",
+ "version": "v8.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/browser-kit.git",
- "reference": "03cce39764429e07fbab9b989a1182a24578341d"
+ "reference": "efc7cc6d442b80c8cb0ad0b29bdb0c9418cee9ee"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/browser-kit/zipball/03cce39764429e07fbab9b989a1182a24578341d",
- "reference": "03cce39764429e07fbab9b989a1182a24578341d",
+ "url": "https://api.github.com/repos/symfony/browser-kit/zipball/efc7cc6d442b80c8cb0ad0b29bdb0c9418cee9ee",
+ "reference": "efc7cc6d442b80c8cb0ad0b29bdb0c9418cee9ee",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/dom-crawler": "^4.4|^5.0|^6.0",
- "symfony/polyfill-php80": "^1.16"
+ "php": ">=8.4",
+ "symfony/dom-crawler": "^7.4|^8.0"
},
"require-dev": {
- "symfony/css-selector": "^4.4|^5.0|^6.0",
- "symfony/http-client": "^4.4|^5.0|^6.0",
- "symfony/mime": "^4.4|^5.0|^6.0",
- "symfony/process": "^4.4|^5.0|^6.0"
- },
- "suggest": {
- "symfony/process": ""
+ "symfony/css-selector": "^7.4|^8.0",
+ "symfony/http-client": "^7.4|^8.0",
+ "symfony/mime": "^7.4|^8.0",
+ "symfony/process": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -4146,7 +4656,84 @@
"description": "Simulates the behavior of a web browser, allowing you to make requests, click on links and submit forms programmatically",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/browser-kit/tree/v5.4.45"
+ "source": "https://github.com/symfony/browser-kit/tree/v8.0.3"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2025-12-16T08:10:18+00:00"
+ },
+ {
+ "name": "symfony/clock",
+ "version": "v8.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/clock.git",
+ "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/clock/zipball/832119f9b8dbc6c8e6f65f30c5969eca1e88764f",
+ "reference": "832119f9b8dbc6c8e6f65f30c5969eca1e88764f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.4",
+ "psr/clock": "^1.0"
+ },
+ "provide": {
+ "psr/clock-implementation": "1.0"
+ },
+ "type": "library",
+ "autoload": {
+ "files": [
+ "Resources/now.php"
+ ],
+ "psr-4": {
+ "Symfony\\Component\\Clock\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Decouples applications from the system clock",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "clock",
+ "psr20",
+ "time"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/clock/tree/v8.0.0"
},
"funding": [
{
@@ -4157,56 +4744,60 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-10-22T13:05:35+00:00"
+ "time": "2025-11-12T15:46:48+00:00"
},
{
"name": "symfony/console",
- "version": "v6.4.25",
+ "version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "273fd29ff30ba0a88ca5fb83f7cf1ab69306adae"
+ "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/273fd29ff30ba0a88ca5fb83f7cf1ab69306adae",
- "reference": "273fd29ff30ba0a88ca5fb83f7cf1ab69306adae",
+ "url": "https://api.github.com/repos/symfony/console/zipball/732a9ca6cd9dfd940c639062d5edbde2f6727fb6",
+ "reference": "732a9ca6cd9dfd940c639062d5edbde2f6727fb6",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/string": "^5.4|^6.0|^7.0"
+ "symfony/string": "^7.2|^8.0"
},
"conflict": {
- "symfony/dependency-injection": "<5.4",
- "symfony/dotenv": "<5.4",
- "symfony/event-dispatcher": "<5.4",
- "symfony/lock": "<5.4",
- "symfony/process": "<5.4"
+ "symfony/dependency-injection": "<6.4",
+ "symfony/dotenv": "<6.4",
+ "symfony/event-dispatcher": "<6.4",
+ "symfony/lock": "<6.4",
+ "symfony/process": "<6.4"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/lock": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/lock": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4240,7 +4831,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.4.25"
+ "source": "https://github.com/symfony/console/tree/v7.4.3"
},
"funding": [
{
@@ -4260,31 +4851,26 @@
"type": "tidelift"
}
],
- "time": "2025-08-22T10:21:53+00:00"
+ "time": "2025-12-23T14:50:43+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v5.1.2",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "e544e24472d4c97b2d11ade7caacd446727c6bf9"
+ "reference": "6225bd458c53ecdee056214cb4a2ffaf58bd592b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/e544e24472d4c97b2d11ade7caacd446727c6bf9",
- "reference": "e544e24472d4c97b2d11ade7caacd446727c6bf9",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/6225bd458c53ecdee056214cb4a2ffaf58bd592b",
+ "reference": "6225bd458c53ecdee056214cb4a2ffaf58bd592b",
"shasum": ""
},
"require": {
- "php": ">=7.2.5"
+ "php": ">=8.4"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\CssSelector\\": ""
@@ -4311,10 +4897,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony CssSelector Component",
+ "description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/5.1"
+ "source": "https://github.com/symfony/css-selector/tree/v8.0.0"
},
"funding": [
{
@@ -4325,12 +4911,16 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2020-05-20T17:43:50+00:00"
+ "time": "2025-10-30T14:17:19+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -4401,40 +4991,27 @@
},
{
"name": "symfony/dom-crawler",
- "version": "v5.1.2",
+ "version": "v8.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/dom-crawler.git",
- "reference": "907187782c465a564f9030a0c6ace59e8821106f"
+ "reference": "11a3dbe6f6c0ae03ae71f879cf5c2e28db107179"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/907187782c465a564f9030a0c6ace59e8821106f",
- "reference": "907187782c465a564f9030a0c6ace59e8821106f",
+ "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/11a3dbe6f6c0ae03ae71f879cf5c2e28db107179",
+ "reference": "11a3dbe6f6c0ae03ae71f879cf5c2e28db107179",
"shasum": ""
},
"require": {
- "php": ">=7.2.5",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/polyfill-php80": "^1.15"
- },
- "conflict": {
- "masterminds/html5": "<2.6"
+ "php": ">=8.4",
+ "symfony/polyfill-ctype": "^1.8",
+ "symfony/polyfill-mbstring": "^1.0"
},
"require-dev": {
- "masterminds/html5": "^2.6",
- "symfony/css-selector": "^4.4|^5.0"
- },
- "suggest": {
- "symfony/css-selector": ""
+ "symfony/css-selector": "^7.4|^8.0"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "5.1-dev"
- }
- },
"autoload": {
"psr-4": {
"Symfony\\Component\\DomCrawler\\": ""
@@ -4457,10 +5034,10 @@
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony DomCrawler Component",
+ "description": "Eases DOM navigation for HTML and XML documents",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/dom-crawler/tree/5.1"
+ "source": "https://github.com/symfony/dom-crawler/tree/v8.0.1"
},
"funding": [
{
@@ -4471,40 +5048,47 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2020-05-23T13:08:13+00:00"
+ "time": "2025-12-06T17:00:47+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v6.4.24",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "30fd0b3cf0e972e82636038ce4db0e4fe777112c"
+ "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/30fd0b3cf0e972e82636038ce4db0e4fe777112c",
- "reference": "30fd0b3cf0e972e82636038ce4db0e4fe777112c",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/48be2b0653594eea32dcef130cca1c811dcf25c2",
+ "reference": "48be2b0653594eea32dcef130cca1c811dcf25c2",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"psr/log": "^1|^2|^3",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ "symfony/polyfill-php85": "^1.32",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0"
},
"conflict": {
"symfony/deprecation-contracts": "<2.5",
"symfony/http-kernel": "<6.4"
},
"require-dev": {
+ "symfony/console": "^6.4|^7.0|^8.0",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/http-kernel": "^6.4|^7.0",
- "symfony/serializer": "^5.4|^6.0|^7.0"
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4|^7.0|^8.0",
+ "symfony/webpack-encore-bundle": "^1.0|^2.0"
},
"bin": [
"Resources/bin/patch-type-declarations"
@@ -4535,7 +5119,7 @@
"description": "Provides tools to manage errors and ease debugging PHP code",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/error-handler/tree/v6.4.24"
+ "source": "https://github.com/symfony/error-handler/tree/v7.4.0"
},
"funding": [
{
@@ -4555,28 +5139,28 @@
"type": "tidelift"
}
],
- "time": "2025-07-24T08:25:04+00:00"
+ "time": "2025-11-05T14:29:59+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v7.3.3",
+ "version": "v8.0.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191"
+ "reference": "573f95783a2ec6e38752979db139f09fec033f03"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/b7dc69e71de420ac04bc9ab830cf3ffebba48191",
- "reference": "b7dc69e71de420ac04bc9ab830cf3ffebba48191",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/573f95783a2ec6e38752979db139f09fec033f03",
+ "reference": "573f95783a2ec6e38752979db139f09fec033f03",
"shasum": ""
},
"require": {
- "php": ">=8.2",
+ "php": ">=8.4",
"symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/dependency-injection": "<6.4",
+ "symfony/security-http": "<7.4",
"symfony/service-contracts": "<2.5"
},
"provide": {
@@ -4585,13 +5169,14 @@
},
"require-dev": {
"psr/log": "^1|^2|^3",
- "symfony/config": "^6.4|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/expression-language": "^6.4|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/config": "^7.4|^8.0",
+ "symfony/dependency-injection": "^7.4|^8.0",
+ "symfony/error-handler": "^7.4|^8.0",
+ "symfony/expression-language": "^7.4|^8.0",
+ "symfony/framework-bundle": "^7.4|^8.0",
+ "symfony/http-foundation": "^7.4|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/stopwatch": "^6.4|^7.0"
+ "symfony/stopwatch": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -4619,7 +5204,7 @@
"description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/event-dispatcher/tree/v7.3.3"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v8.0.0"
},
"funding": [
{
@@ -4639,7 +5224,7 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T11:49:31+00:00"
+ "time": "2025-10-30T14:17:19+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
@@ -4719,23 +5304,23 @@
},
{
"name": "symfony/finder",
- "version": "v6.4.24",
+ "version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "73089124388c8510efb8d2d1689285d285937b08"
+ "reference": "fffe05569336549b20a1be64250b40516d6e8d06"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/73089124388c8510efb8d2d1689285d285937b08",
- "reference": "73089124388c8510efb8d2d1689285d285937b08",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/fffe05569336549b20a1be64250b40516d6e8d06",
+ "reference": "fffe05569336549b20a1be64250b40516d6e8d06",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=8.2"
},
"require-dev": {
- "symfony/filesystem": "^6.0|^7.0"
+ "symfony/filesystem": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4763,7 +5348,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.4.24"
+ "source": "https://github.com/symfony/finder/tree/v7.4.3"
},
"funding": [
{
@@ -4783,40 +5368,41 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T12:02:45+00:00"
+ "time": "2025-12-23T14:50:43+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v6.4.25",
+ "version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "6bc974c0035b643aa497c58d46d9e25185e4b272"
+ "reference": "a70c745d4cea48dbd609f4075e5f5cbce453bd52"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/6bc974c0035b643aa497c58d46d9e25185e4b272",
- "reference": "6bc974c0035b643aa497c58d46d9e25185e4b272",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/a70c745d4cea48dbd609f4075e5f5cbce453bd52",
+ "reference": "a70c745d4cea48dbd609f4075e5f5cbce453bd52",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.1",
- "symfony/polyfill-php83": "^1.27"
+ "symfony/polyfill-mbstring": "^1.1"
},
"conflict": {
+ "doctrine/dbal": "<3.6",
"symfony/cache": "<6.4.12|>=7.0,<7.1.5"
},
"require-dev": {
- "doctrine/dbal": "^2.13.1|^3|^4",
+ "doctrine/dbal": "^3.6|^4",
"predis/predis": "^1.1|^2.0",
- "symfony/cache": "^6.4.12|^7.1.5",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0",
- "symfony/mime": "^5.4|^6.0|^7.0",
- "symfony/rate-limiter": "^5.4|^6.0|^7.0"
+ "symfony/cache": "^6.4.12|^7.1.5|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^6.4|^7.0|^8.0",
+ "symfony/rate-limiter": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -4844,7 +5430,7 @@
"description": "Defines an object-oriented layer for the HTTP specification",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-foundation/tree/v6.4.25"
+ "source": "https://github.com/symfony/http-foundation/tree/v7.4.3"
},
"funding": [
{
@@ -4864,77 +5450,78 @@
"type": "tidelift"
}
],
- "time": "2025-08-20T06:48:20+00:00"
+ "time": "2025-12-23T14:23:49+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v6.4.25",
+ "version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "a0ee3cea5cabf4ed960fd2ef57668ceeacdb6e15"
+ "reference": "885211d4bed3f857b8c964011923528a55702aa5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/a0ee3cea5cabf4ed960fd2ef57668ceeacdb6e15",
- "reference": "a0ee3cea5cabf4ed960fd2ef57668ceeacdb6e15",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/885211d4bed3f857b8c964011923528a55702aa5",
+ "reference": "885211d4bed3f857b8c964011923528a55702aa5",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"psr/log": "^1|^2|^3",
"symfony/deprecation-contracts": "^2.5|^3",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^6.4|^7.0",
+ "symfony/error-handler": "^6.4|^7.0|^8.0",
+ "symfony/event-dispatcher": "^7.3|^8.0",
+ "symfony/http-foundation": "^7.4|^8.0",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
- "symfony/browser-kit": "<5.4",
- "symfony/cache": "<5.4",
- "symfony/config": "<6.1",
- "symfony/console": "<5.4",
+ "symfony/browser-kit": "<6.4",
+ "symfony/cache": "<6.4",
+ "symfony/config": "<6.4",
+ "symfony/console": "<6.4",
"symfony/dependency-injection": "<6.4",
- "symfony/doctrine-bridge": "<5.4",
- "symfony/form": "<5.4",
- "symfony/http-client": "<5.4",
+ "symfony/doctrine-bridge": "<6.4",
+ "symfony/flex": "<2.10",
+ "symfony/form": "<6.4",
+ "symfony/http-client": "<6.4",
"symfony/http-client-contracts": "<2.5",
- "symfony/mailer": "<5.4",
- "symfony/messenger": "<5.4",
- "symfony/translation": "<5.4",
+ "symfony/mailer": "<6.4",
+ "symfony/messenger": "<6.4",
+ "symfony/translation": "<6.4",
"symfony/translation-contracts": "<2.5",
- "symfony/twig-bridge": "<5.4",
+ "symfony/twig-bridge": "<6.4",
"symfony/validator": "<6.4",
- "symfony/var-dumper": "<6.3",
- "twig/twig": "<2.13"
+ "symfony/var-dumper": "<6.4",
+ "twig/twig": "<3.12"
},
"provide": {
"psr/log-implementation": "1.0|2.0|3.0"
},
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
- "symfony/browser-kit": "^5.4|^6.0|^7.0",
- "symfony/clock": "^6.2|^7.0",
- "symfony/config": "^6.1|^7.0",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/css-selector": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^6.4|^7.0",
- "symfony/dom-crawler": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/browser-kit": "^6.4|^7.0|^8.0",
+ "symfony/clock": "^6.4|^7.0|^8.0",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/css-selector": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/dom-crawler": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/finder": "^6.4|^7.0|^8.0",
"symfony/http-client-contracts": "^2.5|^3",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/property-access": "^5.4.5|^6.0.5|^7.0",
- "symfony/routing": "^5.4|^6.0|^7.0",
- "symfony/serializer": "^6.4.4|^7.0.4",
- "symfony/stopwatch": "^5.4|^6.0|^7.0",
- "symfony/translation": "^5.4|^6.0|^7.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^7.1|^8.0",
+ "symfony/routing": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^7.1|^8.0",
+ "symfony/stopwatch": "^6.4|^7.0|^8.0",
+ "symfony/translation": "^6.4|^7.0|^8.0",
"symfony/translation-contracts": "^2.5|^3",
- "symfony/uid": "^5.4|^6.0|^7.0",
- "symfony/validator": "^6.4|^7.0",
- "symfony/var-dumper": "^5.4|^6.4|^7.0",
- "symfony/var-exporter": "^6.2|^7.0",
- "twig/twig": "^2.13|^3.0.4"
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "symfony/validator": "^6.4|^7.0|^8.0",
+ "symfony/var-dumper": "^6.4|^7.0|^8.0",
+ "symfony/var-exporter": "^6.4|^7.0|^8.0",
+ "twig/twig": "^3.12"
},
"type": "library",
"autoload": {
@@ -4962,7 +5549,7 @@
"description": "Provides a structured process for converting a Request into a Response",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/http-kernel/tree/v6.4.25"
+ "source": "https://github.com/symfony/http-kernel/tree/v7.4.3"
},
"funding": [
{
@@ -4982,43 +5569,43 @@
"type": "tidelift"
}
],
- "time": "2025-08-29T07:55:45+00:00"
+ "time": "2025-12-31T08:43:57+00:00"
},
{
"name": "symfony/mailer",
- "version": "v6.4.25",
+ "version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "628b43b45a3e6b15c8a633fb22df547ed9b492a2"
+ "reference": "e472d35e230108231ccb7f51eb6b2100cac02ee4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/628b43b45a3e6b15c8a633fb22df547ed9b492a2",
- "reference": "628b43b45a3e6b15c8a633fb22df547ed9b492a2",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/e472d35e230108231ccb7f51eb6b2100cac02ee4",
+ "reference": "e472d35e230108231ccb7f51eb6b2100cac02ee4",
"shasum": ""
},
"require": {
"egulias/email-validator": "^2.1.10|^3|^4",
- "php": ">=8.1",
+ "php": ">=8.2",
"psr/event-dispatcher": "^1",
"psr/log": "^1|^2|^3",
- "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
- "symfony/mime": "^6.2|^7.0",
+ "symfony/event-dispatcher": "^6.4|^7.0|^8.0",
+ "symfony/mime": "^7.2|^8.0",
"symfony/service-contracts": "^2.5|^3"
},
"conflict": {
"symfony/http-client-contracts": "<2.5",
- "symfony/http-kernel": "<5.4",
- "symfony/messenger": "<6.2",
- "symfony/mime": "<6.2",
- "symfony/twig-bridge": "<6.2.1"
+ "symfony/http-kernel": "<6.4",
+ "symfony/messenger": "<6.4",
+ "symfony/mime": "<6.4",
+ "symfony/twig-bridge": "<6.4"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/http-client": "^5.4|^6.0|^7.0",
- "symfony/messenger": "^6.2|^7.0",
- "symfony/twig-bridge": "^6.2|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-client": "^6.4|^7.0|^8.0",
+ "symfony/messenger": "^6.4|^7.0|^8.0",
+ "symfony/twig-bridge": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -5046,7 +5633,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v6.4.25"
+ "source": "https://github.com/symfony/mailer/tree/v7.4.3"
},
"funding": [
{
@@ -5066,24 +5653,24 @@
"type": "tidelift"
}
],
- "time": "2025-08-13T09:41:44+00:00"
+ "time": "2025-12-16T08:02:06+00:00"
},
{
"name": "symfony/mime",
- "version": "v6.4.24",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "664d5e844a2de5e11c8255d0aef6bc15a9660ac7"
+ "reference": "bdb02729471be5d047a3ac4a69068748f1a6be7a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/664d5e844a2de5e11c8255d0aef6bc15a9660ac7",
- "reference": "664d5e844a2de5e11c8255d0aef6bc15a9660ac7",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/bdb02729471be5d047a3ac4a69068748f1a6be7a",
+ "reference": "bdb02729471be5d047a3ac4a69068748f1a6be7a",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-intl-idn": "^1.10",
"symfony/polyfill-mbstring": "^1.0"
@@ -5092,18 +5679,18 @@
"egulias/email-validator": "~3.0.0",
"phpdocumentor/reflection-docblock": "<3.2.2",
"phpdocumentor/type-resolver": "<1.4.0",
- "symfony/mailer": "<5.4",
+ "symfony/mailer": "<6.4",
"symfony/serializer": "<6.4.3|>7.0,<7.0.3"
},
"require-dev": {
"egulias/email-validator": "^2.1.10|^3.1|^4",
"league/html-to-markdown": "^5.0",
"phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.4|^7.0",
- "symfony/property-access": "^5.4|^6.0|^7.0",
- "symfony/property-info": "^5.4|^6.0|^7.0",
- "symfony/serializer": "^6.4.3|^7.0.3"
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/property-access": "^6.4|^7.0|^8.0",
+ "symfony/property-info": "^6.4|^7.0|^8.0",
+ "symfony/serializer": "^6.4.3|^7.0.3|^8.0"
},
"type": "library",
"autoload": {
@@ -5135,7 +5722,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v6.4.24"
+ "source": "https://github.com/symfony/mime/tree/v7.4.0"
},
"funding": [
{
@@ -5155,7 +5742,7 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T12:02:45+00:00"
+ "time": "2025-11-16T10:14:42+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -5744,28 +6331,22 @@
"time": "2025-07-08T02:45:35+00:00"
},
{
- "name": "symfony/polyfill-uuid",
+ "name": "symfony/polyfill-php84",
"version": "v1.33.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/polyfill-uuid.git",
- "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2"
+ "url": "https://github.com/symfony/polyfill-php84.git",
+ "reference": "d8ced4d875142b6a7426000426b8abc631d6b191"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2",
- "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2",
+ "url": "https://api.github.com/repos/symfony/polyfill-php84/zipball/d8ced4d875142b6a7426000426b8abc631d6b191",
+ "reference": "d8ced4d875142b6a7426000426b8abc631d6b191",
"shasum": ""
},
"require": {
"php": ">=7.2"
},
- "provide": {
- "ext-uuid": "*"
- },
- "suggest": {
- "ext-uuid": "For best performance"
- },
"type": "library",
"extra": {
"thanks": {
@@ -5778,8 +6359,11 @@
"bootstrap.php"
],
"psr-4": {
- "Symfony\\Polyfill\\Uuid\\": ""
- }
+ "Symfony\\Polyfill\\Php84\\": ""
+ },
+ "classmap": [
+ "Resources/stubs"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -5787,24 +6371,24 @@
],
"authors": [
{
- "name": "Grégoire Pineau",
- "email": "lyrixx@lyrixx.info"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Symfony polyfill for uuid functions",
+ "description": "Symfony polyfill backporting some PHP 8.4+ features to lower PHP versions",
"homepage": "https://symfony.com",
"keywords": [
"compatibility",
"polyfill",
"portable",
- "uuid"
+ "shim"
],
"support": {
- "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0"
+ "source": "https://github.com/symfony/polyfill-php84/tree/v1.33.0"
},
"funding": [
{
@@ -5824,32 +6408,41 @@
"type": "tidelift"
}
],
- "time": "2024-09-09T11:45:10+00:00"
+ "time": "2025-06-24T13:30:11+00:00"
},
{
- "name": "symfony/process",
- "version": "v6.4.25",
+ "name": "symfony/polyfill-php85",
+ "version": "v1.33.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/process.git",
- "reference": "6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8"
+ "url": "https://github.com/symfony/polyfill-php85.git",
+ "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8",
- "reference": "6be2f0c9ab3428587c07bed03aa9e3d1b823c6c8",
+ "url": "https://api.github.com/repos/symfony/polyfill-php85/zipball/d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
+ "reference": "d4e5fcd4ab3d998ab16c0db48e6cbb9a01993f91",
"shasum": ""
},
"require": {
- "php": ">=8.1"
+ "php": ">=7.2"
},
"type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Process\\": ""
+ "Symfony\\Polyfill\\Php85\\": ""
},
- "exclude-from-classmap": [
- "/Tests/"
+ "classmap": [
+ "Resources/stubs"
]
},
"notification-url": "https://packagist.org/downloads/",
@@ -5858,18 +6451,24 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Nicolas Grekas",
+ "email": "p@tchwork.com"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Executes commands in sub-processes",
+ "description": "Symfony polyfill backporting some PHP 8.5+ features to lower PHP versions",
"homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
"support": {
- "source": "https://github.com/symfony/process/tree/v6.4.25"
+ "source": "https://github.com/symfony/polyfill-php85/tree/v1.33.0"
},
"funding": [
{
@@ -5889,49 +6488,45 @@
"type": "tidelift"
}
],
- "time": "2025-08-14T06:23:17+00:00"
+ "time": "2025-06-23T16:12:55+00:00"
},
{
- "name": "symfony/routing",
- "version": "v6.4.24",
+ "name": "symfony/polyfill-uuid",
+ "version": "v1.33.0",
"source": {
"type": "git",
- "url": "https://github.com/symfony/routing.git",
- "reference": "e4f94e625c8e6f910aa004a0042f7b2d398278f5"
+ "url": "https://github.com/symfony/polyfill-uuid.git",
+ "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/e4f94e625c8e6f910aa004a0042f7b2d398278f5",
- "reference": "e4f94e625c8e6f910aa004a0042f7b2d398278f5",
+ "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/21533be36c24be3f4b1669c4725c7d1d2bab4ae2",
+ "reference": "21533be36c24be3f4b1669c4725c7d1d2bab4ae2",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3"
+ "php": ">=7.2"
},
- "conflict": {
- "doctrine/annotations": "<1.12",
- "symfony/config": "<6.2",
- "symfony/dependency-injection": "<5.4",
- "symfony/yaml": "<5.4"
+ "provide": {
+ "ext-uuid": "*"
},
- "require-dev": {
- "doctrine/annotations": "^1.12|^2",
- "psr/log": "^1|^2|^3",
- "symfony/config": "^6.2|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/expression-language": "^5.4|^6.0|^7.0",
- "symfony/http-foundation": "^5.4|^6.0|^7.0",
- "symfony/yaml": "^5.4|^6.0|^7.0"
+ "suggest": {
+ "ext-uuid": "For best performance"
},
"type": "library",
+ "extra": {
+ "thanks": {
+ "url": "https://github.com/symfony/polyfill",
+ "name": "symfony/polyfill"
+ }
+ },
"autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
"psr-4": {
- "Symfony\\Component\\Routing\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
+ "Symfony\\Polyfill\\Uuid\\": ""
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
@@ -5939,15 +6534,165 @@
],
"authors": [
{
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
+ "name": "Grégoire Pineau",
+ "email": "lyrixx@lyrixx.info"
},
{
"name": "Symfony Community",
"homepage": "https://symfony.com/contributors"
}
],
- "description": "Maps an HTTP request to a set of configuration variables",
+ "description": "Symfony polyfill for uuid functions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "uuid"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-uuid/tree/v1.33.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-09-09T11:45:10+00:00"
+ },
+ {
+ "name": "symfony/process",
+ "version": "v7.4.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/process.git",
+ "reference": "2f8e1a6cdf590ca63715da4d3a7a3327404a523f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/process/zipball/2f8e1a6cdf590ca63715da4d3a7a3327404a523f",
+ "reference": "2f8e1a6cdf590ca63715da4d3a7a3327404a523f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Process\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Executes commands in sub-processes",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/process/tree/v7.4.3"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2025-12-19T10:00:43+00:00"
+ },
+ {
+ "name": "symfony/routing",
+ "version": "v7.4.3",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/routing.git",
+ "reference": "5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090",
+ "reference": "5d3fd7adf8896c2fdb54e2f0f35b1bcbd9e45090",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "symfony/config": "<6.4",
+ "symfony/dependency-injection": "<6.4",
+ "symfony/yaml": "<6.4"
+ },
+ "require-dev": {
+ "psr/log": "^1|^2|^3",
+ "symfony/config": "^6.4|^7.0|^8.0",
+ "symfony/dependency-injection": "^6.4|^7.0|^8.0",
+ "symfony/expression-language": "^6.4|^7.0|^8.0",
+ "symfony/http-foundation": "^6.4|^7.0|^8.0",
+ "symfony/yaml": "^6.4|^7.0|^8.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Routing\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Maps an HTTP request to a set of configuration variables",
"homepage": "https://symfony.com",
"keywords": [
"router",
@@ -5956,7 +6701,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v6.4.24"
+ "source": "https://github.com/symfony/routing/tree/v7.4.3"
},
"funding": [
{
@@ -5976,20 +6721,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-15T08:46:37+00:00"
+ "time": "2025-12-19T10:00:43+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.6.0",
+ "version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4"
+ "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
- "reference": "f021b05a130d35510bd6b25fe9053c2a8a15d5d4",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/45112560a3ba2d715666a509a0bc9521d10b6c43",
+ "reference": "45112560a3ba2d715666a509a0bc9521d10b6c43",
"shasum": ""
},
"require": {
@@ -6043,7 +6788,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -6054,44 +6799,47 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2025-04-25T09:37:31+00:00"
+ "time": "2025-07-15T11:30:57+00:00"
},
{
"name": "symfony/string",
- "version": "v7.3.3",
+ "version": "v8.0.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c"
+ "reference": "ba65a969ac918ce0cc3edfac6cdde847eba231dc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/17a426cce5fd1f0901fefa9b2a490d0038fd3c9c",
- "reference": "17a426cce5fd1f0901fefa9b2a490d0038fd3c9c",
+ "url": "https://api.github.com/repos/symfony/string/zipball/ba65a969ac918ce0cc3edfac6cdde847eba231dc",
+ "reference": "ba65a969ac918ce0cc3edfac6cdde847eba231dc",
"shasum": ""
},
"require": {
- "php": ">=8.2",
- "symfony/polyfill-ctype": "~1.8",
- "symfony/polyfill-intl-grapheme": "~1.0",
- "symfony/polyfill-intl-normalizer": "~1.0",
- "symfony/polyfill-mbstring": "~1.0"
+ "php": ">=8.4",
+ "symfony/polyfill-ctype": "^1.8",
+ "symfony/polyfill-intl-grapheme": "^1.33",
+ "symfony/polyfill-intl-normalizer": "^1.0",
+ "symfony/polyfill-mbstring": "^1.0"
},
"conflict": {
"symfony/translation-contracts": "<2.5"
},
"require-dev": {
- "symfony/emoji": "^7.1",
- "symfony/error-handler": "^6.4|^7.0",
- "symfony/http-client": "^6.4|^7.0",
- "symfony/intl": "^6.4|^7.0",
+ "symfony/emoji": "^7.4|^8.0",
+ "symfony/http-client": "^7.4|^8.0",
+ "symfony/intl": "^7.4|^8.0",
"symfony/translation-contracts": "^2.5|^3.0",
- "symfony/var-exporter": "^6.4|^7.0"
+ "symfony/var-exporter": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -6130,7 +6878,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v7.3.3"
+ "source": "https://github.com/symfony/string/tree/v8.0.1"
},
"funding": [
{
@@ -6150,55 +6898,49 @@
"type": "tidelift"
}
],
- "time": "2025-08-25T06:35:40+00:00"
+ "time": "2025-12-01T09:13:36+00:00"
},
{
"name": "symfony/translation",
- "version": "v6.4.24",
+ "version": "v8.0.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "300b72643e89de0734d99a9e3f8494a3ef6936e1"
+ "reference": "60a8f11f0e15c48f2cc47c4da53873bb5b62135d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/300b72643e89de0734d99a9e3f8494a3ef6936e1",
- "reference": "300b72643e89de0734d99a9e3f8494a3ef6936e1",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/60a8f11f0e15c48f2cc47c4da53873bb5b62135d",
+ "reference": "60a8f11f0e15c48f2cc47c4da53873bb5b62135d",
"shasum": ""
},
"require": {
- "php": ">=8.1",
- "symfony/deprecation-contracts": "^2.5|^3",
- "symfony/polyfill-mbstring": "~1.0",
- "symfony/translation-contracts": "^2.5|^3.0"
+ "php": ">=8.4",
+ "symfony/polyfill-mbstring": "^1.0",
+ "symfony/translation-contracts": "^3.6.1"
},
"conflict": {
- "symfony/config": "<5.4",
- "symfony/console": "<5.4",
- "symfony/dependency-injection": "<5.4",
+ "nikic/php-parser": "<5.0",
"symfony/http-client-contracts": "<2.5",
- "symfony/http-kernel": "<5.4",
- "symfony/service-contracts": "<2.5",
- "symfony/twig-bundle": "<5.4",
- "symfony/yaml": "<5.4"
+ "symfony/service-contracts": "<2.5"
},
"provide": {
"symfony/translation-implementation": "2.3|3.0"
},
"require-dev": {
- "nikic/php-parser": "^4.18|^5.0",
+ "nikic/php-parser": "^5.0",
"psr/log": "^1|^2|^3",
- "symfony/config": "^5.4|^6.0|^7.0",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/dependency-injection": "^5.4|^6.0|^7.0",
- "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/config": "^7.4|^8.0",
+ "symfony/console": "^7.4|^8.0",
+ "symfony/dependency-injection": "^7.4|^8.0",
+ "symfony/finder": "^7.4|^8.0",
"symfony/http-client-contracts": "^2.5|^3.0",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/intl": "^5.4|^6.0|^7.0",
+ "symfony/http-kernel": "^7.4|^8.0",
+ "symfony/intl": "^7.4|^8.0",
"symfony/polyfill-intl-icu": "^1.21",
- "symfony/routing": "^5.4|^6.0|^7.0",
+ "symfony/routing": "^7.4|^8.0",
"symfony/service-contracts": "^2.5|^3",
- "symfony/yaml": "^5.4|^6.0|^7.0"
+ "symfony/yaml": "^7.4|^8.0"
},
"type": "library",
"autoload": {
@@ -6229,7 +6971,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v6.4.24"
+ "source": "https://github.com/symfony/translation/tree/v8.0.3"
},
"funding": [
{
@@ -6249,20 +6991,20 @@
"type": "tidelift"
}
],
- "time": "2025-07-30T17:30:48+00:00"
+ "time": "2025-12-21T10:59:45+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v3.6.0",
+ "version": "v3.6.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d"
+ "reference": "65a8bc82080447fae78373aa10f8d13b38338977"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
- "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/65a8bc82080447fae78373aa10f8d13b38338977",
+ "reference": "65a8bc82080447fae78373aa10f8d13b38338977",
"shasum": ""
},
"require": {
@@ -6311,7 +7053,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.6.0"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.6.1"
},
"funding": [
{
@@ -6322,33 +7064,37 @@
"url": "https://github.com/fabpot",
"type": "github"
},
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
{
"url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
"type": "tidelift"
}
],
- "time": "2024-09-27T08:32:26+00:00"
+ "time": "2025-07-15T13:41:35+00:00"
},
{
"name": "symfony/uid",
- "version": "v6.4.24",
+ "version": "v7.4.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "17da16a750541a42cf2183935e0f6008316c23f7"
+ "reference": "2498e9f81b7baa206f44de583f2f48350b90142c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/17da16a750541a42cf2183935e0f6008316c23f7",
- "reference": "17da16a750541a42cf2183935e0f6008316c23f7",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/2498e9f81b7baa206f44de583f2f48350b90142c",
+ "reference": "2498e9f81b7baa206f44de583f2f48350b90142c",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/polyfill-uuid": "^1.15"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0"
+ "symfony/console": "^6.4|^7.0|^8.0"
},
"type": "library",
"autoload": {
@@ -6385,7 +7131,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v6.4.24"
+ "source": "https://github.com/symfony/uid/tree/v7.4.0"
},
"funding": [
{
@@ -6405,37 +7151,36 @@
"type": "tidelift"
}
],
- "time": "2025-07-10T08:14:14+00:00"
+ "time": "2025-09-25T11:02:55+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v6.4.25",
+ "version": "v7.4.3",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "c6cd92486e9fc32506370822c57bc02353a5a92c"
+ "reference": "7e99bebcb3f90d8721890f2963463280848cba92"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c6cd92486e9fc32506370822c57bc02353a5a92c",
- "reference": "c6cd92486e9fc32506370822c57bc02353a5a92c",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7e99bebcb3f90d8721890f2963463280848cba92",
+ "reference": "7e99bebcb3f90d8721890f2963463280848cba92",
"shasum": ""
},
"require": {
- "php": ">=8.1",
+ "php": ">=8.2",
"symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/console": "<5.4"
+ "symfony/console": "<6.4"
},
"require-dev": {
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/error-handler": "^6.3|^7.0",
- "symfony/http-kernel": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "symfony/uid": "^5.4|^6.0|^7.0",
- "twig/twig": "^2.13|^3.0.4"
+ "symfony/console": "^6.4|^7.0|^8.0",
+ "symfony/http-kernel": "^6.4|^7.0|^8.0",
+ "symfony/process": "^6.4|^7.0|^8.0",
+ "symfony/uid": "^6.4|^7.0|^8.0",
+ "twig/twig": "^3.12"
},
"bin": [
"Resources/bin/var-dump-server"
@@ -6473,83 +7218,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v6.4.25"
- },
- "funding": [
- {
- "url": "https://symfony.com/sponsor",
- "type": "custom"
- },
- {
- "url": "https://github.com/fabpot",
- "type": "github"
- },
- {
- "url": "https://github.com/nicolas-grekas",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
- "type": "tidelift"
- }
- ],
- "time": "2025-08-13T09:41:44+00:00"
- },
- {
- "name": "symfony/yaml",
- "version": "v7.3.3",
- "source": {
- "type": "git",
- "url": "https://github.com/symfony/yaml.git",
- "reference": "d4f4a66866fe2451f61296924767280ab5732d9d"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/symfony/yaml/zipball/d4f4a66866fe2451f61296924767280ab5732d9d",
- "reference": "d4f4a66866fe2451f61296924767280ab5732d9d",
- "shasum": ""
- },
- "require": {
- "php": ">=8.2",
- "symfony/deprecation-contracts": "^2.5|^3.0",
- "symfony/polyfill-ctype": "^1.8"
- },
- "conflict": {
- "symfony/console": "<6.4"
- },
- "require-dev": {
- "symfony/console": "^6.4|^7.0"
- },
- "bin": [
- "Resources/bin/yaml-lint"
- ],
- "type": "library",
- "autoload": {
- "psr-4": {
- "Symfony\\Component\\Yaml\\": ""
- },
- "exclude-from-classmap": [
- "/Tests/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Fabien Potencier",
- "email": "fabien@symfony.com"
- },
- {
- "name": "Symfony Community",
- "homepage": "https://symfony.com/contributors"
- }
- ],
- "description": "Loads and dumps YAML files",
- "homepage": "https://symfony.com",
- "support": {
- "source": "https://github.com/symfony/yaml/tree/v7.3.3"
+ "source": "https://github.com/symfony/var-dumper/tree/v7.4.3"
},
"funding": [
{
@@ -6569,35 +7238,37 @@
"type": "tidelift"
}
],
- "time": "2025-08-27T11:34:33+00:00"
+ "time": "2025-12-18T07:04:31+00:00"
},
{
"name": "tijsverkoyen/css-to-inline-styles",
- "version": "v2.2.7",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/tijsverkoyen/CssToInlineStyles.git",
- "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb"
+ "reference": "f0292ccf0ec75843d65027214426b6b163b48b41"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb",
- "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb",
+ "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/f0292ccf0ec75843d65027214426b6b163b48b41",
+ "reference": "f0292ccf0ec75843d65027214426b6b163b48b41",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
- "php": "^5.5 || ^7.0 || ^8.0",
- "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "php": "^7.4 || ^8.0",
+ "symfony/css-selector": "^5.4 || ^6.0 || ^7.0 || ^8.0"
},
"require-dev": {
- "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10"
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpunit/phpunit": "^8.5.21 || ^9.5.10"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.2.x-dev"
+ "dev-master": "2.x-dev"
}
},
"autoload": {
@@ -6620,32 +7291,32 @@
"homepage": "https://github.com/tijsverkoyen/CssToInlineStyles",
"support": {
"issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues",
- "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7"
+ "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.4.0"
},
- "time": "2023-12-08T13:03:43+00:00"
+ "time": "2025-12-02T11:56:42+00:00"
},
{
"name": "vlucas/phpdotenv",
- "version": "v5.6.2",
+ "version": "v5.6.3",
"source": {
"type": "git",
"url": "https://github.com/vlucas/phpdotenv.git",
- "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af"
+ "reference": "955e7815d677a3eaa7075231212f2110983adecc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
- "reference": "24ac4c74f91ee2c193fa1aaa5c249cb0822809af",
+ "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/955e7815d677a3eaa7075231212f2110983adecc",
+ "reference": "955e7815d677a3eaa7075231212f2110983adecc",
"shasum": ""
},
"require": {
"ext-pcre": "*",
- "graham-campbell/result-type": "^1.1.3",
+ "graham-campbell/result-type": "^1.1.4",
"php": "^7.2.5 || ^8.0",
- "phpoption/phpoption": "^1.9.3",
- "symfony/polyfill-ctype": "^1.24",
- "symfony/polyfill-mbstring": "^1.24",
- "symfony/polyfill-php80": "^1.24"
+ "phpoption/phpoption": "^1.9.5",
+ "symfony/polyfill-ctype": "^1.26",
+ "symfony/polyfill-mbstring": "^1.26",
+ "symfony/polyfill-php80": "^1.26"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
@@ -6694,7 +7365,7 @@
],
"support": {
"issues": "https://github.com/vlucas/phpdotenv/issues",
- "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.2"
+ "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.3"
},
"funding": [
{
@@ -6706,7 +7377,7 @@
"type": "tidelift"
}
],
- "time": "2025-04-30T23:37:27+00:00"
+ "time": "2025-12-27T19:49:13+00:00"
},
{
"name": "voku/portable-ascii",
@@ -6781,41 +7452,60 @@
}
],
"time": "2024-11-21T01:49:47+00:00"
- },
+ }
+ ],
+ "packages-dev": [
{
- "name": "webmozart/assert",
- "version": "1.11.0",
+ "name": "brianium/paratest",
+ "version": "v7.16.0",
"source": {
"type": "git",
- "url": "https://github.com/webmozarts/assert.git",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991"
+ "url": "https://github.com/paratestphp/paratest.git",
+ "reference": "a10878ed0fe0bbc2f57c980f7a08065338b970b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991",
- "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991",
+ "url": "https://api.github.com/repos/paratestphp/paratest/zipball/a10878ed0fe0bbc2f57c980f7a08065338b970b6",
+ "reference": "a10878ed0fe0bbc2f57c980f7a08065338b970b6",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
- "php": "^7.2 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<0.12.20",
- "vimeo/psalm": "<4.6.1 || 4.6.2"
+ "ext-dom": "*",
+ "ext-pcre": "*",
+ "ext-reflection": "*",
+ "ext-simplexml": "*",
+ "fidry/cpu-core-counter": "^1.3.0",
+ "jean85/pretty-package-versions": "^2.1.1",
+ "php": "~8.3.0 || ~8.4.0 || ~8.5.0",
+ "phpunit/php-code-coverage": "^12.5.1",
+ "phpunit/php-file-iterator": "^6",
+ "phpunit/php-timer": "^8",
+ "phpunit/phpunit": "^12.5.2",
+ "sebastian/environment": "^8.0.3",
+ "symfony/console": "^7.3.4 || ^8.0.0",
+ "symfony/process": "^7.3.4 || ^8.0.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.13"
+ "doctrine/coding-standard": "^14.0.0",
+ "ext-pcntl": "*",
+ "ext-pcov": "*",
+ "ext-posix": "*",
+ "phpstan/phpstan": "^2.1.33",
+ "phpstan/phpstan-deprecation-rules": "^2.0.3",
+ "phpstan/phpstan-phpunit": "^2.0.10",
+ "phpstan/phpstan-strict-rules": "^2.0.7",
+ "symfony/filesystem": "^7.3.2 || ^8.0.0"
},
+ "bin": [
+ "bin/paratest",
+ "bin/paratest_for_phpstorm"
+ ],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.10-dev"
- }
- },
"autoload": {
"psr-4": {
- "Webmozart\\Assert\\": "src/"
+ "ParaTest\\": [
+ "src/"
+ ]
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6824,159 +7514,135 @@
],
"authors": [
{
- "name": "Bernhard Schussek",
- "email": "bschussek@gmail.com"
- }
- ],
- "description": "Assertions to validate method input/output with nice error messages.",
+ "name": "Brian Scaturro",
+ "email": "scaturrob@gmail.com",
+ "role": "Developer"
+ },
+ {
+ "name": "Filippo Tessarotto",
+ "email": "zoeslam@gmail.com",
+ "role": "Developer"
+ }
+ ],
+ "description": "Parallel testing for PHP",
+ "homepage": "https://github.com/paratestphp/paratest",
"keywords": [
- "assert",
- "check",
- "validate"
+ "concurrent",
+ "parallel",
+ "phpunit",
+ "testing"
],
"support": {
- "issues": "https://github.com/webmozarts/assert/issues",
- "source": "https://github.com/webmozarts/assert/tree/1.11.0"
+ "issues": "https://github.com/paratestphp/paratest/issues",
+ "source": "https://github.com/paratestphp/paratest/tree/v7.16.0"
},
- "time": "2022-06-03T18:03:27+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/sponsors/Slamdunk",
+ "type": "github"
+ },
+ {
+ "url": "https://paypal.me/filippotessarotto",
+ "type": "paypal"
+ }
+ ],
+ "time": "2025-12-09T20:03:26+00:00"
},
{
- "name": "zircote/swagger-php",
- "version": "4.11.1",
+ "name": "fakerphp/faker",
+ "version": "v1.24.1",
"source": {
"type": "git",
- "url": "https://github.com/zircote/swagger-php.git",
- "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1"
+ "url": "https://github.com/FakerPHP/Faker.git",
+ "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/zircote/swagger-php/zipball/7df10e8ec47db07c031db317a25bef962b4e5de1",
- "reference": "7df10e8ec47db07c031db317a25bef962b4e5de1",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
+ "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "php": ">=7.2",
- "psr/log": "^1.1 || ^2.0 || ^3.0",
- "symfony/deprecation-contracts": "^2 || ^3",
- "symfony/finder": ">=2.2",
- "symfony/yaml": ">=3.3"
+ "php": "^7.4 || ^8.0",
+ "psr/container": "^1.0 || ^2.0",
+ "symfony/deprecation-contracts": "^2.2 || ^3.0"
+ },
+ "conflict": {
+ "fzaninotto/faker": "*"
},
"require-dev": {
- "composer/package-versions-deprecated": "^1.11",
- "doctrine/annotations": "^1.7 || ^2.0",
- "friendsofphp/php-cs-fixer": "^2.17 || 3.62.0",
- "phpstan/phpstan": "^1.6",
- "phpunit/phpunit": ">=8",
- "vimeo/psalm": "^4.23"
+ "bamarni/composer-bin-plugin": "^1.4.1",
+ "doctrine/persistence": "^1.3 || ^2.0",
+ "ext-intl": "*",
+ "phpunit/phpunit": "^9.5.26",
+ "symfony/phpunit-bridge": "^5.4.16"
},
"suggest": {
- "doctrine/annotations": "^1.7 || ^2.0"
+ "doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
+ "ext-curl": "Required by Faker\\Provider\\Image to download images.",
+ "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
+ "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
+ "ext-mbstring": "Required for multibyte Unicode string functionality."
},
- "bin": [
- "bin/openapi"
- ],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "4.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "OpenApi\\": "src"
+ "Faker\\": "src/Faker/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "Apache-2.0"
+ "MIT"
],
"authors": [
{
- "name": "Robert Allen",
- "email": "zircote@gmail.com"
- },
- {
- "name": "Bob Fanger",
- "email": "bfanger@gmail.com",
- "homepage": "https://bfanger.nl"
- },
- {
- "name": "Martin Rademacher",
- "email": "mano@radebatz.net",
- "homepage": "https://radebatz.net"
+ "name": "François Zaninotto"
}
],
- "description": "swagger-php - Generate interactive documentation for your RESTful API using phpdoc annotations",
- "homepage": "https://github.com/zircote/swagger-php/",
+ "description": "Faker is a PHP library that generates fake data for you.",
"keywords": [
- "api",
- "json",
- "rest",
- "service discovery"
+ "data",
+ "faker",
+ "fixtures"
],
"support": {
- "issues": "https://github.com/zircote/swagger-php/issues",
- "source": "https://github.com/zircote/swagger-php/tree/4.11.1"
+ "issues": "https://github.com/FakerPHP/Faker/issues",
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1"
},
- "time": "2024-10-15T19:20:02+00:00"
- }
- ],
- "packages-dev": [
+ "time": "2024-11-21T13:46:39+00:00"
+ },
{
- "name": "barryvdh/laravel-ide-helper",
- "version": "v2.15.1",
+ "name": "fidry/cpu-core-counter",
+ "version": "1.3.0",
"source": {
"type": "git",
- "url": "https://github.com/barryvdh/laravel-ide-helper.git",
- "reference": "77831852bb7bc54f287246d32eb91274eaf87f8b"
+ "url": "https://github.com/theofidry/cpu-core-counter.git",
+ "reference": "db9508f7b1474469d9d3c53b86f817e344732678"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/77831852bb7bc54f287246d32eb91274eaf87f8b",
- "reference": "77831852bb7bc54f287246d32eb91274eaf87f8b",
+ "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/db9508f7b1474469d9d3c53b86f817e344732678",
+ "reference": "db9508f7b1474469d9d3c53b86f817e344732678",
"shasum": ""
},
"require": {
- "barryvdh/reflection-docblock": "^2.0.6",
- "composer/class-map-generator": "^1.0",
- "doctrine/dbal": "^2.6 || ^3.1.4",
- "ext-json": "*",
- "illuminate/console": "^9 || ^10",
- "illuminate/filesystem": "^9 || ^10",
- "illuminate/support": "^9 || ^10",
- "nikic/php-parser": "^4.18 || ^5",
- "php": "^8.0",
- "phpdocumentor/type-resolver": "^1.1.0"
+ "php": "^7.2 || ^8.0"
},
"require-dev": {
- "ext-pdo_sqlite": "*",
- "friendsofphp/php-cs-fixer": "^3",
- "illuminate/config": "^9 || ^10",
- "illuminate/view": "^9 || ^10",
- "mockery/mockery": "^1.4",
- "orchestra/testbench": "^7 || ^8",
- "phpunit/phpunit": "^9",
- "spatie/phpunit-snapshot-assertions": "^4",
- "vimeo/psalm": "^5.4"
- },
- "suggest": {
- "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10)."
+ "fidry/makefile": "^0.2.0",
+ "fidry/php-cs-fixer-config": "^1.1.2",
+ "phpstan/extension-installer": "^1.2.0",
+ "phpstan/phpstan": "^2.0",
+ "phpstan/phpstan-deprecation-rules": "^2.0.0",
+ "phpstan/phpstan-phpunit": "^2.0",
+ "phpstan/phpstan-strict-rules": "^2.0",
+ "phpunit/phpunit": "^8.5.31 || ^9.5.26",
+ "webmozarts/strict-phpunit": "^7.5"
},
"type": "library",
- "extra": {
- "laravel": {
- "providers": [
- "Barryvdh\\LaravelIdeHelper\\IdeHelperServiceProvider"
- ]
- },
- "branch-alias": {
- "dev-master": "2.15-dev"
- }
- },
"autoload": {
"psr-4": {
- "Barryvdh\\LaravelIdeHelper\\": "src"
+ "Fidry\\CpuCoreCounter\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6985,73 +7651,63 @@
],
"authors": [
{
- "name": "Barry vd. Heuvel",
- "email": "barryvdh@gmail.com"
+ "name": "Théo FIDRY",
+ "email": "theo.fidry@gmail.com"
}
],
- "description": "Laravel IDE Helper, generates correct PHPDocs for all Facade classes, to improve auto-completion.",
+ "description": "Tiny utility to get the number of CPU cores.",
"keywords": [
- "autocomplete",
- "codeintel",
- "helper",
- "ide",
- "laravel",
- "netbeans",
- "phpdoc",
- "phpstorm",
- "sublime"
+ "CPU",
+ "core"
],
"support": {
- "issues": "https://github.com/barryvdh/laravel-ide-helper/issues",
- "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.15.1"
+ "issues": "https://github.com/theofidry/cpu-core-counter/issues",
+ "source": "https://github.com/theofidry/cpu-core-counter/tree/1.3.0"
},
"funding": [
{
- "url": "https://fruitcake.nl",
- "type": "custom"
- },
- {
- "url": "https://github.com/barryvdh",
+ "url": "https://github.com/theofidry",
"type": "github"
}
],
- "time": "2024-02-15T14:23:20+00:00"
+ "time": "2025-08-14T07:29:31+00:00"
},
{
- "name": "barryvdh/reflection-docblock",
- "version": "v2.4.0",
+ "name": "filp/whoops",
+ "version": "2.18.4",
"source": {
"type": "git",
- "url": "https://github.com/barryvdh/ReflectionDocBlock.git",
- "reference": "d103774cbe7e94ddee7e4870f97f727b43fe7201"
+ "url": "https://github.com/filp/whoops.git",
+ "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/barryvdh/ReflectionDocBlock/zipball/d103774cbe7e94ddee7e4870f97f727b43fe7201",
- "reference": "d103774cbe7e94ddee7e4870f97f727b43fe7201",
+ "url": "https://api.github.com/repos/filp/whoops/zipball/d2102955e48b9fd9ab24280a7ad12ed552752c4d",
+ "reference": "d2102955e48b9fd9ab24280a7ad12ed552752c4d",
"shasum": ""
},
"require": {
- "php": ">=7.1"
+ "php": "^7.1 || ^8.0",
+ "psr/log": "^1.0.1 || ^2.0 || ^3.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5.14|^9"
+ "mockery/mockery": "^1.0",
+ "phpunit/phpunit": "^7.5.20 || ^8.5.8 || ^9.3.3",
+ "symfony/var-dumper": "^4.0 || ^5.0"
},
"suggest": {
- "dflydev/markdown": "~1.0",
- "erusev/parsedown": "~1.0"
+ "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
+ "whoops/soap": "Formats errors as SOAP responses"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.3.x-dev"
+ "dev-master": "2.7-dev"
}
},
"autoload": {
- "psr-0": {
- "Barryvdh": [
- "src/"
- ]
+ "psr-4": {
+ "Whoops\\": "src/Whoops/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7060,123 +7716,119 @@
],
"authors": [
{
- "name": "Mike van Riel",
- "email": "mike.vanriel@naenius.com"
+ "name": "Filipe Dobreira",
+ "homepage": "https://github.com/filp",
+ "role": "Developer"
}
],
+ "description": "php error handling for cool kids",
+ "homepage": "https://filp.github.io/whoops/",
+ "keywords": [
+ "error",
+ "exception",
+ "handling",
+ "library",
+ "throwable",
+ "whoops"
+ ],
"support": {
- "source": "https://github.com/barryvdh/ReflectionDocBlock/tree/v2.4.0"
+ "issues": "https://github.com/filp/whoops/issues",
+ "source": "https://github.com/filp/whoops/tree/2.18.4"
},
- "time": "2025-07-17T06:07:30+00:00"
+ "funding": [
+ {
+ "url": "https://github.com/denis-sokolov",
+ "type": "github"
+ }
+ ],
+ "time": "2025-08-08T12:00:00+00:00"
},
{
- "name": "composer/class-map-generator",
- "version": "1.6.2",
+ "name": "hamcrest/hamcrest-php",
+ "version": "v2.1.1",
"source": {
"type": "git",
- "url": "https://github.com/composer/class-map-generator.git",
- "reference": "ba9f089655d4cdd64e762a6044f411ccdaec0076"
+ "url": "https://github.com/hamcrest/hamcrest-php.git",
+ "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/class-map-generator/zipball/ba9f089655d4cdd64e762a6044f411ccdaec0076",
- "reference": "ba9f089655d4cdd64e762a6044f411ccdaec0076",
+ "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
+ "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
"shasum": ""
},
"require": {
- "composer/pcre": "^2.1 || ^3.1",
- "php": "^7.2 || ^8.0",
- "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7"
+ "php": "^7.4|^8.0"
+ },
+ "replace": {
+ "cordoval/hamcrest-php": "*",
+ "davedevelopment/hamcrest-php": "*",
+ "kodova/hamcrest-php": "*"
},
"require-dev": {
- "phpstan/phpstan": "^1.12 || ^2",
- "phpstan/phpstan-deprecation-rules": "^1 || ^2",
- "phpstan/phpstan-phpunit": "^1 || ^2",
- "phpstan/phpstan-strict-rules": "^1.1 || ^2",
- "phpunit/phpunit": "^8",
- "symfony/filesystem": "^5.4 || ^6"
+ "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0",
+ "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "1.x-dev"
+ "dev-master": "2.1-dev"
}
},
"autoload": {
- "psr-4": {
- "Composer\\ClassMapGenerator\\": "src"
- }
+ "classmap": [
+ "hamcrest"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "https://seld.be"
- }
+ "BSD-3-Clause"
],
- "description": "Utilities to scan PHP code and generate class maps.",
+ "description": "This is the PHP port of Hamcrest Matchers",
"keywords": [
- "classmap"
+ "test"
],
"support": {
- "issues": "https://github.com/composer/class-map-generator/issues",
- "source": "https://github.com/composer/class-map-generator/tree/1.6.2"
+ "issues": "https://github.com/hamcrest/hamcrest-php/issues",
+ "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1"
},
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- }
- ],
- "time": "2025-08-20T18:52:43+00:00"
+ "time": "2025-04-30T06:54:44+00:00"
},
{
- "name": "composer/pcre",
- "version": "3.3.2",
+ "name": "jean85/pretty-package-versions",
+ "version": "2.1.1",
"source": {
"type": "git",
- "url": "https://github.com/composer/pcre.git",
- "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e"
+ "url": "https://github.com/Jean85/pretty-package-versions.git",
+ "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
- "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e",
+ "url": "https://api.github.com/repos/Jean85/pretty-package-versions/zipball/4d7aa5dab42e2a76d99559706022885de0e18e1a",
+ "reference": "4d7aa5dab42e2a76d99559706022885de0e18e1a",
"shasum": ""
},
"require": {
- "php": "^7.4 || ^8.0"
- },
- "conflict": {
- "phpstan/phpstan": "<1.11.10"
+ "composer-runtime-api": "^2.1.0",
+ "php": "^7.4|^8.0"
},
"require-dev": {
- "phpstan/phpstan": "^1.12 || ^2",
- "phpstan/phpstan-strict-rules": "^1 || ^2",
- "phpunit/phpunit": "^8 || ^9"
+ "friendsofphp/php-cs-fixer": "^3.2",
+ "jean85/composer-provided-replaced-stub-package": "^1.0",
+ "phpstan/phpstan": "^2.0",
+ "phpunit/phpunit": "^7.5|^8.5|^9.6",
+ "rector/rector": "^2.0",
+ "vimeo/psalm": "^4.3 || ^5.0"
},
"type": "library",
"extra": {
- "phpstan": {
- "includes": [
- "extension.neon"
- ]
- },
"branch-alias": {
- "dev-main": "3.x-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
"psr-4": {
- "Composer\\Pcre\\": "src"
+ "Jean85\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7185,135 +7837,138 @@
],
"authors": [
{
- "name": "Jordi Boggiano",
- "email": "j.boggiano@seld.be",
- "homepage": "http://seld.be"
+ "name": "Alessandro Lai",
+ "email": "alessandro.lai85@gmail.com"
}
],
- "description": "PCRE wrapping library that offers type-safe preg_* replacements.",
+ "description": "A library to get pretty versions strings of installed dependencies",
"keywords": [
- "PCRE",
- "preg",
- "regex",
- "regular expression"
+ "composer",
+ "package",
+ "release",
+ "versions"
],
"support": {
- "issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.3.2"
+ "issues": "https://github.com/Jean85/pretty-package-versions/issues",
+ "source": "https://github.com/Jean85/pretty-package-versions/tree/2.1.1"
},
- "funding": [
- {
- "url": "https://packagist.com",
- "type": "custom"
- },
- {
- "url": "https://github.com/composer",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/composer/composer",
- "type": "tidelift"
- }
- ],
- "time": "2024-11-12T16:29:46+00:00"
+ "time": "2025-03-19T14:43:43+00:00"
},
{
- "name": "doctrine/instantiator",
- "version": "2.0.0",
+ "name": "laravel/boost",
+ "version": "v1.8.7",
"source": {
"type": "git",
- "url": "https://github.com/doctrine/instantiator.git",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"
+ "url": "https://github.com/laravel/boost.git",
+ "reference": "7a5709a8134ed59d3e7f34fccbd74689830e296c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
- "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0",
+ "url": "https://api.github.com/repos/laravel/boost/zipball/7a5709a8134ed59d3e7f34fccbd74689830e296c",
+ "reference": "7a5709a8134ed59d3e7f34fccbd74689830e296c",
"shasum": ""
},
"require": {
+ "guzzlehttp/guzzle": "^7.9",
+ "illuminate/console": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/contracts": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/routing": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/support": "^10.49.0|^11.45.3|^12.41.1",
+ "laravel/mcp": "^0.5.1",
+ "laravel/prompts": "0.1.25|^0.3.6",
+ "laravel/roster": "^0.2.9",
"php": "^8.1"
},
"require-dev": {
- "doctrine/coding-standard": "^11",
- "ext-pdo": "*",
- "ext-phar": "*",
- "phpbench/phpbench": "^1.2",
- "phpstan/phpstan": "^1.9.4",
- "phpstan/phpstan-phpunit": "^1.3",
- "phpunit/phpunit": "^9.5.27",
- "vimeo/psalm": "^5.4"
+ "laravel/pint": "^1.20.0",
+ "mockery/mockery": "^1.6.12",
+ "orchestra/testbench": "^8.36.0|^9.15.0|^10.6",
+ "pestphp/pest": "^2.36.0|^3.8.4|^4.1.5",
+ "phpstan/phpstan": "^2.1.27",
+ "rector/rector": "^2.1"
},
"type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Laravel\\Boost\\BoostServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-master": "1.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/"
+ "Laravel\\Boost\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "homepage": "https://ocramius.github.io/"
- }
- ],
- "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors",
- "homepage": "https://www.doctrine-project.org/projects/instantiator.html",
+ "description": "Laravel Boost accelerates AI-assisted development by providing the essential context and structure that AI needs to generate high-quality, Laravel-specific code.",
+ "homepage": "https://github.com/laravel/boost",
"keywords": [
- "constructor",
- "instantiate"
+ "ai",
+ "dev",
+ "laravel"
],
"support": {
- "issues": "https://github.com/doctrine/instantiator/issues",
- "source": "https://github.com/doctrine/instantiator/tree/2.0.0"
+ "issues": "https://github.com/laravel/boost/issues",
+ "source": "https://github.com/laravel/boost"
},
- "funding": [
- {
- "url": "https://www.doctrine-project.org/sponsorship.html",
- "type": "custom"
- },
- {
- "url": "https://www.patreon.com/phpdoctrine",
- "type": "patreon"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator",
- "type": "tidelift"
- }
- ],
- "time": "2022-12-30T00:23:10+00:00"
+ "time": "2025-12-19T15:04:12+00:00"
},
{
- "name": "escapestudios/symfony2-coding-standard",
- "version": "3.16.0",
+ "name": "laravel/mcp",
+ "version": "v0.5.1",
"source": {
"type": "git",
- "url": "https://github.com/djoos/Symfony-coding-standard.git",
- "reference": "5a8962f81ac04c8e5d67acf619823c1cb883a627"
+ "url": "https://github.com/laravel/mcp.git",
+ "reference": "10dedea054fa4eeaa9ef2ccbfdad6c3e1dbd17a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/djoos/Symfony-coding-standard/zipball/5a8962f81ac04c8e5d67acf619823c1cb883a627",
- "reference": "5a8962f81ac04c8e5d67acf619823c1cb883a627",
+ "url": "https://api.github.com/repos/laravel/mcp/zipball/10dedea054fa4eeaa9ef2ccbfdad6c3e1dbd17a4",
+ "reference": "10dedea054fa4eeaa9ef2ccbfdad6c3e1dbd17a4",
"shasum": ""
},
"require": {
- "squizlabs/php_codesniffer": "^3.3.1"
- },
- "conflict": {
- "squizlabs/php_codesniffer": "<3 || >=4"
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "illuminate/console": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/container": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/contracts": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/http": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/json-schema": "^12.41.1",
+ "illuminate/routing": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/support": "^10.49.0|^11.45.3|^12.41.1",
+ "illuminate/validation": "^10.49.0|^11.45.3|^12.41.1",
+ "php": "^8.1"
},
"require-dev": {
- "phpunit/phpunit": "^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4"
+ "laravel/pint": "^1.20",
+ "orchestra/testbench": "^8.36|^9.15|^10.8",
+ "pestphp/pest": "^2.36.0|^3.8.4|^4.1.0",
+ "phpstan/phpstan": "^2.1.27",
+ "rector/rector": "^2.2.4"
},
- "type": "phpcodesniffer-standard",
+ "type": "library",
"extra": {
- "branch-alias": {
- "dev-master": "3.x-dev"
+ "laravel": {
+ "aliases": {
+ "Mcp": "Laravel\\Mcp\\Server\\Facades\\Mcp"
+ },
+ "providers": [
+ "Laravel\\Mcp\\Server\\McpServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Laravel\\Mcp\\": "src/",
+ "Laravel\\Mcp\\Server\\": "src/Server/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7322,69 +7977,70 @@
],
"authors": [
{
- "name": "David Joos",
- "email": "iam@davidjoos.com"
- },
- {
- "name": "Community contributors",
- "homepage": "https://github.com/djoos/Symfony-coding-standard/graphs/contributors"
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
}
],
- "description": "CodeSniffer ruleset for the Symfony 2+ coding standard",
- "homepage": "https://github.com/djoos/Symfony-coding-standard",
+ "description": "Rapidly build MCP servers for your Laravel applications.",
+ "homepage": "https://github.com/laravel/mcp",
"keywords": [
- "Coding Standard",
- "Symfony2",
- "phpcs",
- "static analysis",
- "symfony"
+ "laravel",
+ "mcp"
],
"support": {
- "issues": "https://github.com/djoos/Symfony-coding-standard/issues",
- "source": "https://github.com/djoos/Symfony-coding-standard"
+ "issues": "https://github.com/laravel/mcp/issues",
+ "source": "https://github.com/laravel/mcp"
},
- "time": "2025-07-09T10:52:53+00:00"
+ "time": "2025-12-17T06:14:23+00:00"
},
{
- "name": "fakerphp/faker",
- "version": "v1.24.1",
+ "name": "laravel/pail",
+ "version": "v1.2.4",
"source": {
"type": "git",
- "url": "https://github.com/FakerPHP/Faker.git",
- "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5"
+ "url": "https://github.com/laravel/pail.git",
+ "reference": "49f92285ff5d6fc09816e976a004f8dec6a0ea30"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
- "reference": "e0ee18eb1e6dc3cda3ce9fd97e5a0689a88a64b5",
+ "url": "https://api.github.com/repos/laravel/pail/zipball/49f92285ff5d6fc09816e976a004f8dec6a0ea30",
+ "reference": "49f92285ff5d6fc09816e976a004f8dec6a0ea30",
"shasum": ""
},
"require": {
- "php": "^7.4 || ^8.0",
- "psr/container": "^1.0 || ^2.0",
- "symfony/deprecation-contracts": "^2.2 || ^3.0"
- },
- "conflict": {
- "fzaninotto/faker": "*"
+ "ext-mbstring": "*",
+ "illuminate/console": "^10.24|^11.0|^12.0",
+ "illuminate/contracts": "^10.24|^11.0|^12.0",
+ "illuminate/log": "^10.24|^11.0|^12.0",
+ "illuminate/process": "^10.24|^11.0|^12.0",
+ "illuminate/support": "^10.24|^11.0|^12.0",
+ "nunomaduro/termwind": "^1.15|^2.0",
+ "php": "^8.2",
+ "symfony/console": "^6.0|^7.0"
},
"require-dev": {
- "bamarni/composer-bin-plugin": "^1.4.1",
- "doctrine/persistence": "^1.3 || ^2.0",
- "ext-intl": "*",
- "phpunit/phpunit": "^9.5.26",
- "symfony/phpunit-bridge": "^5.4.16"
- },
- "suggest": {
- "doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
- "ext-curl": "Required by Faker\\Provider\\Image to download images.",
- "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
- "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
- "ext-mbstring": "Required for multibyte Unicode string functionality."
+ "laravel/framework": "^10.24|^11.0|^12.0",
+ "laravel/pint": "^1.13",
+ "orchestra/testbench-core": "^8.13|^9.17|^10.8",
+ "pestphp/pest": "^2.20|^3.0|^4.0",
+ "pestphp/pest-plugin-type-coverage": "^2.3|^3.0|^4.0",
+ "phpstan/phpstan": "^1.12.27",
+ "symfony/var-dumper": "^6.3|^7.0"
},
"type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Laravel\\Pail\\PailServiceProvider"
+ ]
+ },
+ "branch-alias": {
+ "dev-main": "1.x-dev"
+ }
+ },
"autoload": {
"psr-4": {
- "Faker\\": "src/Faker/"
+ "Laravel\\Pail\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7393,57 +8049,68 @@
],
"authors": [
{
- "name": "François Zaninotto"
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
+ },
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "Faker is a PHP library that generates fake data for you.",
+ "description": "Easily delve into your Laravel application's log files directly from the command line.",
+ "homepage": "https://github.com/laravel/pail",
"keywords": [
- "data",
- "faker",
- "fixtures"
+ "dev",
+ "laravel",
+ "logs",
+ "php",
+ "tail"
],
"support": {
- "issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.24.1"
+ "issues": "https://github.com/laravel/pail/issues",
+ "source": "https://github.com/laravel/pail"
},
- "time": "2024-11-21T13:46:39+00:00"
+ "time": "2025-11-20T16:29:35+00:00"
},
{
- "name": "filp/whoops",
- "version": "2.14.5",
+ "name": "laravel/pint",
+ "version": "v1.26.0",
"source": {
"type": "git",
- "url": "https://github.com/filp/whoops.git",
- "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc"
+ "url": "https://github.com/laravel/pint.git",
+ "reference": "69dcca060ecb15e4b564af63d1f642c81a241d6f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/filp/whoops/zipball/a63e5e8f26ebbebf8ed3c5c691637325512eb0dc",
- "reference": "a63e5e8f26ebbebf8ed3c5c691637325512eb0dc",
+ "url": "https://api.github.com/repos/laravel/pint/zipball/69dcca060ecb15e4b564af63d1f642c81a241d6f",
+ "reference": "69dcca060ecb15e4b564af63d1f642c81a241d6f",
"shasum": ""
},
"require": {
- "php": "^5.5.9 || ^7.0 || ^8.0",
- "psr/log": "^1.0.1 || ^2.0 || ^3.0"
+ "ext-json": "*",
+ "ext-mbstring": "*",
+ "ext-tokenizer": "*",
+ "ext-xml": "*",
+ "php": "^8.2.0"
},
"require-dev": {
- "mockery/mockery": "^0.9 || ^1.0",
- "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3",
- "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0"
- },
- "suggest": {
- "symfony/var-dumper": "Pretty print complex values better with var-dumper available",
- "whoops/soap": "Formats errors as SOAP responses"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "2.7-dev"
- }
+ "friendsofphp/php-cs-fixer": "^3.90.0",
+ "illuminate/view": "^12.40.1",
+ "larastan/larastan": "^3.8.0",
+ "laravel-zero/framework": "^12.0.4",
+ "mockery/mockery": "^1.6.12",
+ "nunomaduro/termwind": "^2.3.3",
+ "pestphp/pest": "^3.8.4"
},
+ "bin": [
+ "builds/pint"
+ ],
+ "type": "project",
"autoload": {
"psr-4": {
- "Whoops\\": "src/Whoops/"
+ "App\\": "app/",
+ "Database\\Seeders\\": "database/seeders/",
+ "Database\\Factories\\": "database/factories/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7452,171 +8119,127 @@
],
"authors": [
{
- "name": "Filipe Dobreira",
- "homepage": "https://github.com/filp",
- "role": "Developer"
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "php error handling for cool kids",
- "homepage": "https://filp.github.io/whoops/",
+ "description": "An opinionated code formatter for PHP.",
+ "homepage": "https://laravel.com",
"keywords": [
- "error",
- "exception",
- "handling",
- "library",
- "throwable",
- "whoops"
+ "dev",
+ "format",
+ "formatter",
+ "lint",
+ "linter",
+ "php"
],
"support": {
- "issues": "https://github.com/filp/whoops/issues",
- "source": "https://github.com/filp/whoops/tree/2.14.5"
+ "issues": "https://github.com/laravel/pint/issues",
+ "source": "https://github.com/laravel/pint"
},
- "funding": [
- {
- "url": "https://github.com/denis-sokolov",
- "type": "github"
- }
- ],
- "time": "2022-01-07T12:00:00+00:00"
+ "time": "2025-11-25T21:15:52+00:00"
},
{
- "name": "hamcrest/hamcrest-php",
- "version": "v2.1.1",
+ "name": "laravel/roster",
+ "version": "v0.2.9",
"source": {
"type": "git",
- "url": "https://github.com/hamcrest/hamcrest-php.git",
- "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487"
+ "url": "https://github.com/laravel/roster.git",
+ "reference": "82bbd0e2de614906811aebdf16b4305956816fa6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
- "reference": "f8b1c0173b22fa6ec77a81fe63e5b01eba7e6487",
+ "url": "https://api.github.com/repos/laravel/roster/zipball/82bbd0e2de614906811aebdf16b4305956816fa6",
+ "reference": "82bbd0e2de614906811aebdf16b4305956816fa6",
"shasum": ""
},
"require": {
- "php": "^7.4|^8.0"
- },
- "replace": {
- "cordoval/hamcrest-php": "*",
- "davedevelopment/hamcrest-php": "*",
- "kodova/hamcrest-php": "*"
+ "illuminate/console": "^10.0|^11.0|^12.0",
+ "illuminate/contracts": "^10.0|^11.0|^12.0",
+ "illuminate/routing": "^10.0|^11.0|^12.0",
+ "illuminate/support": "^10.0|^11.0|^12.0",
+ "php": "^8.1|^8.2",
+ "symfony/yaml": "^6.4|^7.2"
},
"require-dev": {
- "phpunit/php-file-iterator": "^1.4 || ^2.0 || ^3.0",
- "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0 || ^8.0 || ^9.0"
+ "laravel/pint": "^1.14",
+ "mockery/mockery": "^1.6",
+ "orchestra/testbench": "^8.22.0|^9.0|^10.0",
+ "pestphp/pest": "^2.0|^3.0",
+ "phpstan/phpstan": "^2.0"
},
"type": "library",
"extra": {
+ "laravel": {
+ "providers": [
+ "Laravel\\Roster\\RosterServiceProvider"
+ ]
+ },
"branch-alias": {
- "dev-master": "2.1-dev"
+ "dev-master": "1.x-dev"
}
},
"autoload": {
- "classmap": [
- "hamcrest"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "description": "This is the PHP port of Hamcrest Matchers",
- "keywords": [
- "test"
- ],
- "support": {
- "issues": "https://github.com/hamcrest/hamcrest-php/issues",
- "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.1.1"
- },
- "time": "2025-04-30T06:54:44+00:00"
- },
- {
- "name": "laravel-lang/lang",
- "version": "7.0.9",
- "source": {
- "type": "git",
- "url": "https://github.com/Laravel-Lang/lang.git",
- "reference": "679a65755db37b35acd36a5e0ca51e055815a00a"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/Laravel-Lang/lang/zipball/679a65755db37b35acd36a5e0ca51e055815a00a",
- "reference": "679a65755db37b35acd36a5e0ca51e055815a00a",
- "shasum": ""
- },
- "require": {
- "ext-json": "*"
- },
- "suggest": {
- "andrey-helldar/laravel-lang-publisher": "Easy installation and update of translation files for your project",
- "arcanedev/laravel-lang": "Translations manager and checker for Laravel 5",
- "overtrue/laravel-lang": "Command to add languages in your project"
+ "psr-4": {
+ "Laravel\\Roster\\": "src/"
+ }
},
- "type": "library",
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Laravel-Lang Team"
- }
- ],
- "description": "Languages for Laravel",
+ "description": "Detect packages & approaches in use within a Laravel project",
+ "homepage": "https://github.com/laravel/roster",
"keywords": [
- "lang",
- "languages",
- "laravel",
- "lpm"
+ "dev",
+ "laravel"
],
"support": {
- "issues": "https://github.com/Laravel-Lang/lang/issues",
- "source": "https://github.com/Laravel-Lang/lang/tree/7.0.9"
+ "issues": "https://github.com/laravel/roster/issues",
+ "source": "https://github.com/laravel/roster"
},
- "time": "2020-11-30T20:35:41+00:00"
+ "time": "2025-10-20T09:56:46+00:00"
},
{
- "name": "laravel/pint",
- "version": "v1.24.0",
+ "name": "laravel/sail",
+ "version": "v1.51.0",
"source": {
"type": "git",
- "url": "https://github.com/laravel/pint.git",
- "reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a"
+ "url": "https://github.com/laravel/sail.git",
+ "reference": "1c74357df034e869250b4365dd445c9f6ba5d068"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/pint/zipball/0345f3b05f136801af8c339f9d16ef29e6b4df8a",
- "reference": "0345f3b05f136801af8c339f9d16ef29e6b4df8a",
+ "url": "https://api.github.com/repos/laravel/sail/zipball/1c74357df034e869250b4365dd445c9f6ba5d068",
+ "reference": "1c74357df034e869250b4365dd445c9f6ba5d068",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "ext-mbstring": "*",
- "ext-tokenizer": "*",
- "ext-xml": "*",
- "php": "^8.2.0"
+ "illuminate/console": "^9.52.16|^10.0|^11.0|^12.0",
+ "illuminate/contracts": "^9.52.16|^10.0|^11.0|^12.0",
+ "illuminate/support": "^9.52.16|^10.0|^11.0|^12.0",
+ "php": "^8.0",
+ "symfony/console": "^6.0|^7.0",
+ "symfony/yaml": "^6.0|^7.0"
},
"require-dev": {
- "friendsofphp/php-cs-fixer": "^3.82.2",
- "illuminate/view": "^11.45.1",
- "larastan/larastan": "^3.5.0",
- "laravel-zero/framework": "^11.45.0",
- "mockery/mockery": "^1.6.12",
- "nunomaduro/termwind": "^2.3.1",
- "pestphp/pest": "^2.36.0"
+ "orchestra/testbench": "^7.0|^8.0|^9.0|^10.0",
+ "phpstan/phpstan": "^2.0"
},
"bin": [
- "builds/pint"
+ "bin/sail"
],
- "type": "project",
+ "type": "library",
+ "extra": {
+ "laravel": {
+ "providers": [
+ "Laravel\\Sail\\SailServiceProvider"
+ ]
+ }
+ },
"autoload": {
- "files": [
- "overrides/Runner/Parallel/ProcessFactory.php"
- ],
"psr-4": {
- "App\\": "app/",
- "Database\\Seeders\\": "database/seeders/",
- "Database\\Factories\\": "database/factories/"
+ "Laravel\\Sail\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7625,59 +8248,55 @@
],
"authors": [
{
- "name": "Nuno Maduro",
- "email": "enunomaduro@gmail.com"
+ "name": "Taylor Otwell",
+ "email": "taylor@laravel.com"
}
],
- "description": "An opinionated code formatter for PHP.",
- "homepage": "https://laravel.com",
+ "description": "Docker files for running a basic Laravel application.",
"keywords": [
- "format",
- "formatter",
- "lint",
- "linter",
- "php"
+ "docker",
+ "laravel"
],
"support": {
- "issues": "https://github.com/laravel/pint/issues",
- "source": "https://github.com/laravel/pint"
+ "issues": "https://github.com/laravel/sail/issues",
+ "source": "https://github.com/laravel/sail"
},
- "time": "2025-07-10T18:09:32+00:00"
+ "time": "2025-12-09T13:33:49+00:00"
},
{
"name": "mockery/mockery",
- "version": "1.5.0",
+ "version": "1.6.12",
"source": {
"type": "git",
"url": "https://github.com/mockery/mockery.git",
- "reference": "c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac"
+ "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac",
- "reference": "c10a5f6e06fc2470ab1822fa13fa2a7380f8fbac",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699",
+ "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699",
"shasum": ""
},
"require": {
"hamcrest/hamcrest-php": "^2.0.1",
"lib-pcre": ">=7.0",
- "php": "^7.3 || ^8.0"
+ "php": ">=7.3"
},
"conflict": {
"phpunit/phpunit": "<8.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5 || ^9.3"
+ "phpunit/phpunit": "^8.5 || ^9.6.17",
+ "symplify/easy-coding-standard": "^12.1.14"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.4.x-dev"
- }
- },
"autoload": {
- "psr-0": {
- "Mockery": "library/"
+ "files": [
+ "library/helpers.php",
+ "library/Mockery.php"
+ ],
+ "psr-4": {
+ "Mockery\\": "library/Mockery"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7688,12 +8307,20 @@
{
"name": "Pádraic Brady",
"email": "padraic.brady@gmail.com",
- "homepage": "http://blog.astrumfutura.com"
+ "homepage": "https://github.com/padraic",
+ "role": "Author"
},
{
"name": "Dave Marshall",
"email": "dave.marshall@atstsolutions.co.uk",
- "homepage": "http://davedevelopment.co.uk"
+ "homepage": "https://davedevelopment.co.uk",
+ "role": "Developer"
+ },
+ {
+ "name": "Nathanael Esayeas",
+ "email": "nathanael.esayeas@protonmail.com",
+ "homepage": "https://github.com/ghostwriter",
+ "role": "Lead Developer"
}
],
"description": "Mockery is a simple yet flexible PHP mock object framework",
@@ -7711,10 +8338,13 @@
"testing"
],
"support": {
+ "docs": "https://docs.mockery.io/",
"issues": "https://github.com/mockery/mockery/issues",
- "source": "https://github.com/mockery/mockery/tree/1.5.0"
+ "rss": "https://github.com/mockery/mockery/releases.atom",
+ "security": "https://github.com/mockery/mockery/security/advisories",
+ "source": "https://github.com/mockery/mockery"
},
- "time": "2022-01-20T13:18:17+00:00"
+ "time": "2024-05-16T03:13:13+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -7777,106 +8407,183 @@
"time": "2025-08-01T08:46:24+00:00"
},
{
- "name": "nikic/php-parser",
- "version": "v5.6.1",
+ "name": "nunomaduro/collision",
+ "version": "v8.8.3",
"source": {
"type": "git",
- "url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2"
+ "url": "https://github.com/nunomaduro/collision.git",
+ "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
- "reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
+ "url": "https://api.github.com/repos/nunomaduro/collision/zipball/1dc9e88d105699d0fee8bb18890f41b274f6b4c4",
+ "reference": "1dc9e88d105699d0fee8bb18890f41b274f6b4c4",
"shasum": ""
},
"require": {
- "ext-ctype": "*",
- "ext-json": "*",
- "ext-tokenizer": "*",
- "php": ">=7.4"
+ "filp/whoops": "^2.18.1",
+ "nunomaduro/termwind": "^2.3.1",
+ "php": "^8.2.0",
+ "symfony/console": "^7.3.0"
+ },
+ "conflict": {
+ "laravel/framework": "<11.44.2 || >=13.0.0",
+ "phpunit/phpunit": "<11.5.15 || >=13.0.0"
},
"require-dev": {
- "ircmaxell/php-yacc": "^0.0.7",
- "phpunit/phpunit": "^9.0"
+ "brianium/paratest": "^7.8.3",
+ "larastan/larastan": "^3.4.2",
+ "laravel/framework": "^11.44.2 || ^12.18",
+ "laravel/pint": "^1.22.1",
+ "laravel/sail": "^1.43.1",
+ "laravel/sanctum": "^4.1.1",
+ "laravel/tinker": "^2.10.1",
+ "orchestra/testbench-core": "^9.12.0 || ^10.4",
+ "pestphp/pest": "^3.8.2 || ^4.0.0",
+ "sebastian/environment": "^7.2.1 || ^8.0"
},
- "bin": [
- "bin/php-parse"
- ],
"type": "library",
"extra": {
+ "laravel": {
+ "providers": [
+ "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
+ ]
+ },
"branch-alias": {
- "dev-master": "5.x-dev"
+ "dev-8.x": "8.x-dev"
}
},
"autoload": {
+ "files": [
+ "./src/Adapters/Phpunit/Autoload.php"
+ ],
"psr-4": {
- "PhpParser\\": "lib/PhpParser"
+ "NunoMaduro\\Collision\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Nikita Popov"
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "A PHP parser written in PHP",
+ "description": "Cli error handling for console/command-line PHP applications.",
"keywords": [
- "parser",
- "php"
+ "artisan",
+ "cli",
+ "command-line",
+ "console",
+ "dev",
+ "error",
+ "handling",
+ "laravel",
+ "laravel-zero",
+ "php",
+ "symfony"
],
"support": {
- "issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1"
+ "issues": "https://github.com/nunomaduro/collision/issues",
+ "source": "https://github.com/nunomaduro/collision"
},
- "time": "2025-08-13T20:13:15+00:00"
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ },
+ {
+ "url": "https://www.patreon.com/nunomaduro",
+ "type": "patreon"
+ }
+ ],
+ "time": "2025-11-20T02:55:25+00:00"
},
{
- "name": "nunomaduro/collision",
- "version": "v6.4.0",
+ "name": "pestphp/pest",
+ "version": "v4.3.0",
"source": {
"type": "git",
- "url": "https://github.com/nunomaduro/collision.git",
- "reference": "f05978827b9343cba381ca05b8c7deee346b6015"
+ "url": "https://github.com/pestphp/pest.git",
+ "reference": "e86bec3e68f1874c112ca782fb9db1333f3fe7ab"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f05978827b9343cba381ca05b8c7deee346b6015",
- "reference": "f05978827b9343cba381ca05b8c7deee346b6015",
+ "url": "https://api.github.com/repos/pestphp/pest/zipball/e86bec3e68f1874c112ca782fb9db1333f3fe7ab",
+ "reference": "e86bec3e68f1874c112ca782fb9db1333f3fe7ab",
"shasum": ""
},
"require": {
- "filp/whoops": "^2.14.5",
- "php": "^8.0.0",
- "symfony/console": "^6.0.2"
+ "brianium/paratest": "^7.16.0",
+ "nunomaduro/collision": "^8.8.3",
+ "nunomaduro/termwind": "^2.3.3",
+ "pestphp/pest-plugin": "^4.0.0",
+ "pestphp/pest-plugin-arch": "^4.0.0",
+ "pestphp/pest-plugin-mutate": "^4.0.1",
+ "pestphp/pest-plugin-profanity": "^4.2.1",
+ "php": "^8.3.0",
+ "phpunit/phpunit": "^12.5.4",
+ "symfony/process": "^7.4.0|^8.0.0"
+ },
+ "conflict": {
+ "filp/whoops": "<2.18.3",
+ "phpunit/phpunit": ">12.5.4",
+ "sebastian/exporter": "<7.0.0",
+ "webmozart/assert": "<1.11.0"
},
"require-dev": {
- "brianium/paratest": "^6.4.1",
- "laravel/framework": "^9.26.1",
- "laravel/pint": "^1.1.1",
- "nunomaduro/larastan": "^1.0.3",
- "nunomaduro/mock-final-classes": "^1.1.0",
- "orchestra/testbench": "^7.7",
- "phpunit/phpunit": "^9.5.23",
- "spatie/ignition": "^1.4.1"
+ "pestphp/pest-dev-tools": "^4.0.0",
+ "pestphp/pest-plugin-browser": "^4.1.1",
+ "pestphp/pest-plugin-type-coverage": "^4.0.3",
+ "psy/psysh": "^0.12.18"
},
+ "bin": [
+ "bin/pest"
+ ],
"type": "library",
"extra": {
- "laravel": {
- "providers": [
- "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider"
+ "pest": {
+ "plugins": [
+ "Pest\\Mutate\\Plugins\\Mutate",
+ "Pest\\Plugins\\Configuration",
+ "Pest\\Plugins\\Bail",
+ "Pest\\Plugins\\Cache",
+ "Pest\\Plugins\\Coverage",
+ "Pest\\Plugins\\Init",
+ "Pest\\Plugins\\Environment",
+ "Pest\\Plugins\\Help",
+ "Pest\\Plugins\\Memory",
+ "Pest\\Plugins\\Only",
+ "Pest\\Plugins\\Printer",
+ "Pest\\Plugins\\ProcessIsolation",
+ "Pest\\Plugins\\Profile",
+ "Pest\\Plugins\\Retry",
+ "Pest\\Plugins\\Snapshot",
+ "Pest\\Plugins\\Verbose",
+ "Pest\\Plugins\\Version",
+ "Pest\\Plugins\\Shard",
+ "Pest\\Plugins\\Parallel"
]
},
- "branch-alias": {
- "dev-develop": "6.x-dev"
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
}
},
"autoload": {
+ "files": [
+ "src/Functions.php",
+ "src/Pest.php"
+ ],
"psr-4": {
- "NunoMaduro\\Collision\\": "src/"
+ "Pest\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7889,28 +8596,90 @@
"email": "enunomaduro@gmail.com"
}
],
- "description": "Cli error handling for console/command-line PHP applications.",
+ "description": "The elegant PHP Testing Framework.",
"keywords": [
- "artisan",
- "cli",
- "command-line",
- "console",
- "error",
- "handling",
- "laravel",
- "laravel-zero",
+ "framework",
+ "pest",
"php",
- "symfony"
+ "test",
+ "testing",
+ "unit"
],
"support": {
- "issues": "https://github.com/nunomaduro/collision/issues",
- "source": "https://github.com/nunomaduro/collision"
+ "issues": "https://github.com/pestphp/pest/issues",
+ "source": "https://github.com/pestphp/pest/tree/v4.3.0"
},
"funding": [
{
"url": "https://www.paypal.com/paypalme/enunomaduro",
"type": "custom"
},
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ }
+ ],
+ "time": "2025-12-30T19:48:33+00:00"
+ },
+ {
+ "name": "pestphp/pest-plugin",
+ "version": "v4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pestphp/pest-plugin.git",
+ "reference": "9d4b93d7f73d3f9c3189bb22c220fef271cdf568"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin/zipball/9d4b93d7f73d3f9c3189bb22c220fef271cdf568",
+ "reference": "9d4b93d7f73d3f9c3189bb22c220fef271cdf568",
+ "shasum": ""
+ },
+ "require": {
+ "composer-plugin-api": "^2.0.0",
+ "composer-runtime-api": "^2.2.2",
+ "php": "^8.3"
+ },
+ "conflict": {
+ "pestphp/pest": "<4.0.0"
+ },
+ "require-dev": {
+ "composer/composer": "^2.8.10",
+ "pestphp/pest": "^4.0.0",
+ "pestphp/pest-dev-tools": "^4.0.0"
+ },
+ "type": "composer-plugin",
+ "extra": {
+ "class": "Pest\\Plugin\\Manager"
+ },
+ "autoload": {
+ "psr-4": {
+ "Pest\\Plugin\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "The Pest plugin manager",
+ "keywords": [
+ "framework",
+ "manager",
+ "pest",
+ "php",
+ "plugin",
+ "test",
+ "testing",
+ "unit"
+ ],
+ "support": {
+ "source": "https://github.com/pestphp/pest-plugin/tree/v4.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=66BYDWAT92N6L",
+ "type": "custom"
+ },
{
"url": "https://github.com/nunomaduro",
"type": "github"
@@ -7920,7 +8689,283 @@
"type": "patreon"
}
],
- "time": "2023-01-03T12:54:54+00:00"
+ "time": "2025-08-20T12:35:58+00:00"
+ },
+ {
+ "name": "pestphp/pest-plugin-arch",
+ "version": "v4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pestphp/pest-plugin-arch.git",
+ "reference": "25bb17e37920ccc35cbbcda3b00d596aadf3e58d"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-arch/zipball/25bb17e37920ccc35cbbcda3b00d596aadf3e58d",
+ "reference": "25bb17e37920ccc35cbbcda3b00d596aadf3e58d",
+ "shasum": ""
+ },
+ "require": {
+ "pestphp/pest-plugin": "^4.0.0",
+ "php": "^8.3",
+ "ta-tikoma/phpunit-architecture-test": "^0.8.5"
+ },
+ "require-dev": {
+ "pestphp/pest": "^4.0.0",
+ "pestphp/pest-dev-tools": "^4.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "pest": {
+ "plugins": [
+ "Pest\\Arch\\Plugin"
+ ]
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Autoload.php"
+ ],
+ "psr-4": {
+ "Pest\\Arch\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "The Arch plugin for Pest PHP.",
+ "keywords": [
+ "arch",
+ "architecture",
+ "framework",
+ "pest",
+ "php",
+ "plugin",
+ "test",
+ "testing",
+ "unit"
+ ],
+ "support": {
+ "source": "https://github.com/pestphp/pest-plugin-arch/tree/v4.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ }
+ ],
+ "time": "2025-08-20T13:10:51+00:00"
+ },
+ {
+ "name": "pestphp/pest-plugin-laravel",
+ "version": "v4.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pestphp/pest-plugin-laravel.git",
+ "reference": "e12a07046b826a40b1c8632fd7b80d6b8d7b628e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-laravel/zipball/e12a07046b826a40b1c8632fd7b80d6b8d7b628e",
+ "reference": "e12a07046b826a40b1c8632fd7b80d6b8d7b628e",
+ "shasum": ""
+ },
+ "require": {
+ "laravel/framework": "^11.45.2|^12.25.0",
+ "pestphp/pest": "^4.0.0",
+ "php": "^8.3.0"
+ },
+ "require-dev": {
+ "laravel/dusk": "^8.3.3",
+ "orchestra/testbench": "^9.13.0|^10.5.0",
+ "pestphp/pest-dev-tools": "^4.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "pest": {
+ "plugins": [
+ "Pest\\Laravel\\Plugin"
+ ]
+ },
+ "laravel": {
+ "providers": [
+ "Pest\\Laravel\\PestServiceProvider"
+ ]
+ }
+ },
+ "autoload": {
+ "files": [
+ "src/Autoload.php"
+ ],
+ "psr-4": {
+ "Pest\\Laravel\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "The Pest Laravel Plugin",
+ "keywords": [
+ "framework",
+ "laravel",
+ "pest",
+ "php",
+ "test",
+ "testing",
+ "unit"
+ ],
+ "support": {
+ "source": "https://github.com/pestphp/pest-plugin-laravel/tree/v4.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ }
+ ],
+ "time": "2025-08-20T12:46:37+00:00"
+ },
+ {
+ "name": "pestphp/pest-plugin-mutate",
+ "version": "v4.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pestphp/pest-plugin-mutate.git",
+ "reference": "d9b32b60b2385e1688a68cc227594738ec26d96c"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-mutate/zipball/d9b32b60b2385e1688a68cc227594738ec26d96c",
+ "reference": "d9b32b60b2385e1688a68cc227594738ec26d96c",
+ "shasum": ""
+ },
+ "require": {
+ "nikic/php-parser": "^5.6.1",
+ "pestphp/pest-plugin": "^4.0.0",
+ "php": "^8.3",
+ "psr/simple-cache": "^3.0.0"
+ },
+ "require-dev": {
+ "pestphp/pest": "^4.0.0",
+ "pestphp/pest-dev-tools": "^4.0.0",
+ "pestphp/pest-plugin-type-coverage": "^4.0.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Pest\\Mutate\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
+ },
+ {
+ "name": "Sandro Gehri",
+ "email": "sandrogehri@gmail.com"
+ }
+ ],
+ "description": "Mutates your code to find untested cases",
+ "keywords": [
+ "framework",
+ "mutate",
+ "mutation",
+ "pest",
+ "php",
+ "plugin",
+ "test",
+ "testing",
+ "unit"
+ ],
+ "support": {
+ "source": "https://github.com/pestphp/pest-plugin-mutate/tree/v4.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://www.paypal.com/paypalme/enunomaduro",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/gehrisandro",
+ "type": "github"
+ },
+ {
+ "url": "https://github.com/nunomaduro",
+ "type": "github"
+ }
+ ],
+ "time": "2025-08-21T20:19:25+00:00"
+ },
+ {
+ "name": "pestphp/pest-plugin-profanity",
+ "version": "v4.2.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pestphp/pest-plugin-profanity.git",
+ "reference": "343cfa6f3564b7e35df0ebb77b7fa97039f72b27"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pestphp/pest-plugin-profanity/zipball/343cfa6f3564b7e35df0ebb77b7fa97039f72b27",
+ "reference": "343cfa6f3564b7e35df0ebb77b7fa97039f72b27",
+ "shasum": ""
+ },
+ "require": {
+ "pestphp/pest-plugin": "^4.0.0",
+ "php": "^8.3"
+ },
+ "require-dev": {
+ "faissaloux/pest-plugin-inside": "^1.9",
+ "pestphp/pest": "^4.0.0",
+ "pestphp/pest-dev-tools": "^4.0.0"
+ },
+ "type": "library",
+ "extra": {
+ "pest": {
+ "plugins": [
+ "Pest\\Profanity\\Plugin"
+ ]
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Pest\\Profanity\\": "src/"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "description": "The Pest Profanity Plugin",
+ "keywords": [
+ "framework",
+ "pest",
+ "php",
+ "plugin",
+ "profanity",
+ "test",
+ "testing",
+ "unit"
+ ],
+ "support": {
+ "source": "https://github.com/pestphp/pest-plugin-profanity/tree/v4.2.1"
+ },
+ "time": "2025-12-08T00:13:17+00:00"
},
{
"name": "phar-io/manifest",
@@ -8093,18 +9138,82 @@
},
"time": "2020-06-27T09:03:43+00:00"
},
+ {
+ "name": "phpdocumentor/reflection-docblock",
+ "version": "5.6.6",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git",
+ "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/5cee1d3dfc2d2aa6599834520911d246f656bcb8",
+ "reference": "5cee1d3dfc2d2aa6599834520911d246f656bcb8",
+ "shasum": ""
+ },
+ "require": {
+ "doctrine/deprecations": "^1.1",
+ "ext-filter": "*",
+ "php": "^7.4 || ^8.0",
+ "phpdocumentor/reflection-common": "^2.2",
+ "phpdocumentor/type-resolver": "^1.7",
+ "phpstan/phpdoc-parser": "^1.7|^2.0",
+ "webmozart/assert": "^1.9.1 || ^2"
+ },
+ "require-dev": {
+ "mockery/mockery": "~1.3.5 || ~1.6.0",
+ "phpstan/extension-installer": "^1.1",
+ "phpstan/phpstan": "^1.8",
+ "phpstan/phpstan-mockery": "^1.1",
+ "phpstan/phpstan-webmozart-assert": "^1.2",
+ "phpunit/phpunit": "^9.5",
+ "psalm/phar": "^5.26"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "phpDocumentor\\Reflection\\": "src"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Mike van Riel",
+ "email": "me@mikevanriel.com"
+ },
+ {
+ "name": "Jaap van Otterdijk",
+ "email": "opensource@ijaap.nl"
+ }
+ ],
+ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.",
+ "support": {
+ "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues",
+ "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.6"
+ },
+ "time": "2025-12-22T21:13:58+00:00"
+ },
{
"name": "phpdocumentor/type-resolver",
- "version": "1.10.0",
+ "version": "1.12.0",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/TypeResolver.git",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a"
+ "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a",
- "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a",
+ "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/92a98ada2b93d9b201a613cb5a33584dde25f195",
+ "reference": "92a98ada2b93d9b201a613cb5a33584dde25f195",
"shasum": ""
},
"require": {
@@ -8147,9 +9256,9 @@
"description": "A PSR-5 based resolver of Class names, Types and Structural Element Names",
"support": {
"issues": "https://github.com/phpDocumentor/TypeResolver/issues",
- "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0"
+ "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.12.0"
},
- "time": "2024-11-09T15:12:26+00:00"
+ "time": "2025-11-21T15:09:14+00:00"
},
{
"name": "phpstan/phpdoc-parser",
@@ -8200,35 +9309,34 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "9.2.32",
+ "version": "12.5.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5"
+ "reference": "4a9739b51cbcb355f6e95659612f92e282a7077b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5",
- "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/4a9739b51cbcb355f6e95659612f92e282a7077b",
+ "reference": "4a9739b51cbcb355f6e95659612f92e282a7077b",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^4.19.1 || ^5.1.0",
- "php": ">=7.3",
- "phpunit/php-file-iterator": "^3.0.6",
- "phpunit/php-text-template": "^2.0.4",
- "sebastian/code-unit-reverse-lookup": "^2.0.3",
- "sebastian/complexity": "^2.0.3",
- "sebastian/environment": "^5.1.5",
- "sebastian/lines-of-code": "^1.0.4",
- "sebastian/version": "^3.0.2",
- "theseer/tokenizer": "^1.2.3"
+ "nikic/php-parser": "^5.7.0",
+ "php": ">=8.3",
+ "phpunit/php-file-iterator": "^6.0",
+ "phpunit/php-text-template": "^5.0",
+ "sebastian/complexity": "^5.0",
+ "sebastian/environment": "^8.0.3",
+ "sebastian/lines-of-code": "^4.0",
+ "sebastian/version": "^6.0",
+ "theseer/tokenizer": "^2.0.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.6"
+ "phpunit/phpunit": "^12.5.1"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -8237,7 +9345,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "9.2.x-dev"
+ "dev-main": "12.5.x-dev"
}
},
"autoload": {
@@ -8266,40 +9374,52 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/12.5.2"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpunit/php-code-coverage",
+ "type": "tidelift"
}
],
- "time": "2024-08-22T04:23:01+00:00"
+ "time": "2025-12-24T07:03:04+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "3.0.6",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf"
+ "reference": "961bc913d42fe24a257bfff826a5068079ac7782"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
- "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/961bc913d42fe24a257bfff826a5068079ac7782",
+ "reference": "961bc913d42fe24a257bfff826a5068079ac7782",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -8326,7 +9446,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6"
+ "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/6.0.0"
},
"funding": [
{
@@ -8334,28 +9455,28 @@
"type": "github"
}
],
- "time": "2021-12-02T12:48:52+00:00"
+ "time": "2025-02-07T04:58:37+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "3.1.1",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67"
+ "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
- "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/12b54e689b07a25a9b41e57736dfab6ec9ae5406",
+ "reference": "12b54e689b07a25a9b41e57736dfab6ec9ae5406",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"suggest": {
"ext-pcntl": "*"
@@ -8363,7 +9484,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.1-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -8389,7 +9510,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1"
+ "security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/6.0.0"
},
"funding": [
{
@@ -8397,32 +9519,32 @@
"type": "github"
}
],
- "time": "2020-09-28T05:58:55+00:00"
+ "time": "2025-02-07T04:58:58+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "2.0.4",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28"
+ "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
- "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/e1367a453f0eda562eedb4f659e13aa900d66c53",
+ "reference": "e1367a453f0eda562eedb4f659e13aa900d66c53",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -8448,7 +9570,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4"
+ "security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/5.0.0"
},
"funding": [
{
@@ -8456,32 +9579,32 @@
"type": "github"
}
],
- "time": "2020-10-26T05:33:50+00:00"
+ "time": "2025-02-07T04:59:16+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "5.0.3",
+ "version": "8.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2"
+ "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
- "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc",
+ "reference": "f258ce36aa457f3aa3339f9ed4c81fc66dc8c2cc",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "8.0-dev"
}
},
"autoload": {
@@ -8507,7 +9630,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3"
+ "security": "https://github.com/sebastianbergmann/php-timer/security/policy",
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/8.0.0"
},
"funding": [
{
@@ -8515,24 +9639,23 @@
"type": "github"
}
],
- "time": "2020-10-26T13:16:10+00:00"
+ "time": "2025-02-07T04:59:38+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "9.6.26",
+ "version": "12.5.4",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "a0139ea157533454f611038326f3020b3051f129"
+ "reference": "4ba0e923f9d3fc655de22f9547c01d15a41fc93a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a0139ea157533454f611038326f3020b3051f129",
- "reference": "a0139ea157533454f611038326f3020b3051f129",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4ba0e923f9d3fc655de22f9547c01d15a41fc93a",
+ "reference": "4ba0e923f9d3fc655de22f9547c01d15a41fc93a",
"shasum": ""
},
"require": {
- "doctrine/instantiator": "^1.5.0 || ^2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -8542,27 +9665,22 @@
"myclabs/deep-copy": "^1.13.4",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
- "php": ">=7.3",
- "phpunit/php-code-coverage": "^9.2.32",
- "phpunit/php-file-iterator": "^3.0.6",
- "phpunit/php-invoker": "^3.1.1",
- "phpunit/php-text-template": "^2.0.4",
- "phpunit/php-timer": "^5.0.3",
- "sebastian/cli-parser": "^1.0.2",
- "sebastian/code-unit": "^1.0.8",
- "sebastian/comparator": "^4.0.9",
- "sebastian/diff": "^4.0.6",
- "sebastian/environment": "^5.1.5",
- "sebastian/exporter": "^4.0.6",
- "sebastian/global-state": "^5.0.8",
- "sebastian/object-enumerator": "^4.0.4",
- "sebastian/resource-operations": "^3.0.4",
- "sebastian/type": "^3.2.1",
- "sebastian/version": "^3.0.2"
- },
- "suggest": {
- "ext-soap": "To be able to generate mocks based on WSDL files",
- "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
+ "php": ">=8.3",
+ "phpunit/php-code-coverage": "^12.5.1",
+ "phpunit/php-file-iterator": "^6.0.0",
+ "phpunit/php-invoker": "^6.0.0",
+ "phpunit/php-text-template": "^5.0.0",
+ "phpunit/php-timer": "^8.0.0",
+ "sebastian/cli-parser": "^4.2.0",
+ "sebastian/comparator": "^7.1.3",
+ "sebastian/diff": "^7.0.0",
+ "sebastian/environment": "^8.0.3",
+ "sebastian/exporter": "^7.0.2",
+ "sebastian/global-state": "^8.0.2",
+ "sebastian/object-enumerator": "^7.0.0",
+ "sebastian/type": "^6.0.3",
+ "sebastian/version": "^6.0.0",
+ "staabm/side-effects-detector": "^1.0.5"
},
"bin": [
"phpunit"
@@ -8570,7 +9688,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "9.6-dev"
+ "dev-main": "12.5-dev"
}
},
"autoload": {
@@ -8602,7 +9720,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.26"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/12.5.4"
},
"funding": [
{
@@ -8626,7 +9744,7 @@
"type": "tidelift"
}
],
- "time": "2025-09-11T06:17:45+00:00"
+ "time": "2025-12-15T06:05:34+00:00"
},
{
"name": "roave/security-advisories",
@@ -8634,23 +9752,24 @@
"source": {
"type": "git",
"url": "https://github.com/Roave/SecurityAdvisories.git",
- "reference": "9e809d3a8829a5b870ae1c2f57706f46bb181093"
+ "reference": "5ba14c800ff89c74333c22d56ca1c1f35c424805"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/9e809d3a8829a5b870ae1c2f57706f46bb181093",
- "reference": "9e809d3a8829a5b870ae1c2f57706f46bb181093",
+ "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/5ba14c800ff89c74333c22d56ca1c1f35c424805",
+ "reference": "5ba14c800ff89c74333c22d56ca1c1f35c424805",
"shasum": ""
},
"conflict": {
"3f/pygmentize": "<1.2",
"adaptcms/adaptcms": "<=1.3",
- "admidio/admidio": "<4.3.12",
+ "admidio/admidio": "<=4.3.16",
"adodb/adodb-php": "<=5.22.9",
"aheinze/cockpit": "<2.2",
"aimeos/ai-admin-graphql": ">=2022.04.1,<2022.10.10|>=2023.04.1,<2023.10.6|>=2024.04.1,<2024.07.2",
"aimeos/ai-admin-jsonadm": "<2020.10.13|>=2021.04.1,<2021.10.6|>=2022.04.1,<2022.10.3|>=2023.04.1,<2023.10.4|==2024.04.1",
"aimeos/ai-client-html": ">=2020.04.1,<2020.10.27|>=2021.04.1,<2021.10.22|>=2022.04.1,<2022.10.13|>=2023.04.1,<2023.10.15|>=2024.04.1,<2024.04.7",
+ "aimeos/ai-cms-grapesjs": ">=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.9|>=2023.04.1,<2023.10.15|>=2024.04.1,<2024.10.8|>=2025.04.1,<2025.10.2",
"aimeos/ai-controller-frontend": "<2020.10.15|>=2021.04.1,<2021.10.8|>=2022.04.1,<2022.10.8|>=2023.04.1,<2023.10.9|==2024.04.1",
"aimeos/aimeos-core": ">=2022.04.1,<2022.10.17|>=2023.04.1,<2023.10.17|>=2024.04.1,<2024.04.7",
"aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5",
@@ -8658,6 +9777,9 @@
"akaunting/akaunting": "<2.1.13",
"akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53",
"alextselegidis/easyappointments": "<1.5.2.0-beta1",
+ "alexusmai/laravel-file-manager": "<=3.3.1",
+ "alt-design/alt-redirect": "<1.6.4",
+ "altcha-org/altcha": "<1.3.1",
"alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1",
"amazing/media2click": ">=1,<1.3.3",
"ameos/ameos_tarteaucitron": "<1.2.23",
@@ -8681,22 +9803,22 @@
"athlon1600/php-proxy-app": "<=3",
"athlon1600/youtube-downloader": "<=4",
"austintoddj/canvas": "<=3.4.2",
- "auth0/auth0-php": ">=8.0.0.0-beta1,<8.14",
- "auth0/login": "<7.17",
- "auth0/symfony": "<5.4",
- "auth0/wordpress": "<5.3",
+ "auth0/auth0-php": ">=3.3,<8.18",
+ "auth0/login": "<7.20",
+ "auth0/symfony": "<=5.5",
+ "auth0/wordpress": "<=5.4",
"automad/automad": "<2.0.0.0-alpha5",
"automattic/jetpack": "<9.8",
"awesome-support/awesome-support": "<=6.0.7",
- "aws/aws-sdk-php": "<3.288.1",
- "azuracast/azuracast": "<0.18.3",
+ "aws/aws-sdk-php": "<3.368",
+ "azuracast/azuracast": "<=0.23.1",
"b13/seo_basics": "<0.8.2",
- "backdrop/backdrop": "<1.27.3|>=1.28,<1.28.2",
+ "backdrop/backdrop": "<=1.32",
"backpack/crud": "<3.4.9",
"backpack/filemanager": "<2.0.2|>=3,<3.0.9",
"bacula-web/bacula-web": "<9.7.1",
"badaso/core": "<=2.9.11",
- "bagisto/bagisto": "<2.1",
+ "bagisto/bagisto": "<2.3.10",
"barrelstrength/sprout-base-email": "<1.2.7",
"barrelstrength/sprout-forms": "<3.9",
"barryvdh/laravel-translation-manager": "<0.6.8",
@@ -8728,6 +9850,7 @@
"bvbmedia/multishop": "<2.0.39",
"bytefury/crater": "<6.0.2",
"cachethq/cachet": "<2.5.1",
+ "cadmium-org/cadmium-cms": "<=0.4.9",
"cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.1,<4.1.4|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10",
"cakephp/database": ">=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10",
"cardgate/magento2": "<2.0.33",
@@ -8747,29 +9870,31 @@
"clickstorm/cs-seo": ">=6,<6.8|>=7,<7.5|>=8,<8.4|>=9,<9.3",
"co-stack/fal_sftp": "<0.2.6",
"cockpit-hq/cockpit": "<2.11.4",
+ "code16/sharp": "<9.11.1",
"codeception/codeception": "<3.1.3|>=4,<4.1.22",
"codeigniter/framework": "<3.1.10",
"codeigniter4/framework": "<4.6.2",
"codeigniter4/shield": "<1.0.0.0-beta8",
"codiad/codiad": "<=2.8.4",
"codingms/additional-tca": ">=1.7,<1.15.17|>=1.16,<1.16.9",
+ "codingms/modules": "<4.3.11|>=5,<5.7.4|>=6,<6.4.2|>=7,<7.5.5",
"commerceteam/commerce": ">=0.9.6,<0.9.9",
"components/jquery": ">=1.0.3,<3.5",
- "composer/composer": "<1.10.27|>=2,<2.2.24|>=2.3,<2.7.7",
+ "composer/composer": "<1.10.27|>=2,<2.2.26|>=2.3,<2.9.3",
"concrete5/concrete5": "<9.4.3",
"concrete5/core": "<8.5.8|>=9,<9.1",
"contao-components/mediaelement": ">=2.14.2,<2.21.1",
"contao/comments-bundle": ">=2,<4.13.40|>=5.0.0.0-RC1-dev,<5.3.4",
"contao/contao": ">=3,<3.5.37|>=4,<4.4.56|>=4.5,<4.13.56|>=5,<5.3.38|>=5.4.0.0-RC1-dev,<5.6.1",
"contao/core": "<3.5.39",
- "contao/core-bundle": "<4.13.56|>=5,<5.3.38|>=5.4,<5.6.1",
+ "contao/core-bundle": "<4.13.57|>=5,<5.3.42|>=5.4,<5.6.5",
"contao/listing-bundle": ">=3,<=3.5.30|>=4,<4.4.8",
"contao/managed-edition": "<=1.5",
"corveda/phpsandbox": "<1.3.5",
"cosenary/instagram": "<=2.3",
"couleurcitron/tarteaucitron-wp": "<0.3",
"craftcms/cms": "<=4.16.5|>=5,<=5.8.6",
- "croogo/croogo": "<4",
+ "croogo/croogo": "<=4.0.7",
"cuyz/valinor": "<0.12",
"czim/file-handling": "<1.5|>=2,<2.3",
"czproject/git-php": "<4.0.3",
@@ -8786,6 +9911,7 @@
"derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1|>=7,<7.4",
"desperado/xml-bundle": "<=0.1.7",
"dev-lancer/minecraft-motd-parser": "<=1.0.5",
+ "devcode-it/openstamanager": "<=2.9.4",
"devgroup/dotplant": "<2020.09.14-dev",
"digimix/wp-svg-upload": "<=1",
"directmailteam/direct-mail": "<6.0.3|>=7,<7.0.3|>=8,<9.5.2",
@@ -8801,33 +9927,45 @@
"doctrine/mongodb-odm": "<1.0.2",
"doctrine/mongodb-odm-bundle": "<3.0.1",
"doctrine/orm": ">=1,<1.2.4|>=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4",
- "dolibarr/dolibarr": "<=21.0.2",
+ "dolibarr/dolibarr": "<21.0.3",
"dompdf/dompdf": "<2.0.4",
"doublethreedigital/guest-entries": "<3.1.2",
+ "drupal-pattern-lab/unified-twig-extensions": "<=0.1",
+ "drupal/access_code": "<2.0.5",
+ "drupal/acquia_dam": "<1.1.5",
"drupal/admin_audit_trail": "<1.0.5",
"drupal/ai": "<1.0.5",
"drupal/alogin": "<2.0.6",
"drupal/cache_utility": "<1.2.1",
+ "drupal/civictheme": "<1.12",
"drupal/commerce_alphabank_redirect": "<1.0.3",
"drupal/commerce_eurobank_redirect": "<2.1.1",
"drupal/config_split": "<1.10|>=2,<2.0.2",
- "drupal/core": ">=6,<6.38|>=7,<7.102|>=8,<10.3.14|>=10.4,<10.4.5|>=11,<11.0.13|>=11.1,<11.1.5",
+ "drupal/core": ">=6,<6.38|>=7,<7.102|>=8,<10.4.9|>=10.5,<10.5.6|>=11,<11.1.9|>=11.2,<11.2.8",
"drupal/core-recommended": ">=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8",
+ "drupal/currency": "<3.5",
"drupal/drupal": ">=5,<5.11|>=6,<6.38|>=7,<7.102|>=8,<10.2.11|>=10.3,<10.3.9|>=11,<11.0.8",
+ "drupal/email_tfa": "<2.0.6",
"drupal/formatter_suite": "<2.1",
"drupal/gdpr": "<3.0.1|>=3.1,<3.1.2",
"drupal/google_tag": "<1.8|>=2,<2.0.8",
"drupal/ignition": "<1.0.4",
+ "drupal/json_field": "<1.5",
"drupal/lightgallery": "<1.6",
"drupal/link_field_display_mode_formatter": "<1.6",
"drupal/matomo": "<1.24",
"drupal/oauth2_client": "<4.1.3",
"drupal/oauth2_server": "<2.1",
"drupal/obfuscate": "<2.0.1",
+ "drupal/plausible_tracking": "<1.0.2",
"drupal/quick_node_block": "<2",
"drupal/rapidoc_elements_field_formatter": "<1.0.1",
+ "drupal/reverse_proxy_header": "<1.1.2",
+ "drupal/simple_multistep": "<2",
+ "drupal/simple_oauth": ">=6,<6.0.7",
"drupal/spamspan": "<3.2.1",
"drupal/tfa": "<1.10",
+ "drupal/umami_analytics": "<1.0.1",
"duncanmcclean/guest-entries": "<3.1.2",
"dweeves/magmi": "<=0.7.24",
"ec-cube/ec-cube": "<2.4.4|>=2.11,<=2.17.1|>=3,<=3.0.18.0-patch4|>=4,<=4.1.2",
@@ -8852,7 +9990,7 @@
"ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1-dev",
"ezsystems/ezfind-ls": ">=5.3,<5.3.6.1-dev|>=5.4,<5.4.11.1-dev|>=2017.12,<2017.12.0.1-dev",
"ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24",
- "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.38|>=3.3,<3.3.39",
+ "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.39|>=3.3,<3.3.39",
"ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1|>=5.3.0.0-beta1,<5.3.5",
"ezsystems/ezplatform-graphql": ">=1.0.0.0-RC1-dev,<1.0.13|>=2.0.0.0-beta1,<2.3.12",
"ezsystems/ezplatform-http-cache": "<2.3.16",
@@ -8867,12 +10005,13 @@
"ezsystems/repository-forms": ">=2.3,<2.3.2.1-dev|>=2.5,<2.5.15",
"ezyang/htmlpurifier": "<=4.2",
"facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2",
- "facturascripts/facturascripts": "<=2022.08",
+ "facturascripts/facturascripts": "<=2025.4|==2025.11|==2025.41|==2025.43",
"fastly/magento2": "<1.2.26",
"feehi/cms": "<=2.1.1",
"feehi/feehicms": "<=2.1.1",
"fenom/fenom": "<=2.12.1",
"filament/actions": ">=3.2,<3.2.123",
+ "filament/filament": ">=4,<4.3.1",
"filament/infolists": ">=3,<3.2.115",
"filament/tables": ">=3,<3.2.115",
"filegator/filegator": "<7.8",
@@ -8891,6 +10030,7 @@
"floriangaerber/magnesium": "<0.3.1",
"fluidtypo3/vhs": "<5.1.1",
"fof/byobu": ">=0.3.0.0-beta2,<1.1.7",
+ "fof/pretty-mail": "<=1.1.2",
"fof/upload": "<1.2.3",
"foodcoopshop/foodcoopshop": ">=3.2,<3.6.1",
"fooman/tcpdf": "<6.2.22",
@@ -8914,9 +10054,9 @@
"genix/cms": "<=1.1.11",
"georgringer/news": "<1.3.3",
"geshi/geshi": "<=1.0.9.1",
- "getformwork/formwork": "<1.13.1|>=2.0.0.0-beta1,<2.0.0.0-beta4",
- "getgrav/grav": "<1.7.46",
- "getkirby/cms": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1",
+ "getformwork/formwork": "<2.2",
+ "getgrav/grav": "<1.11.0.0-beta1",
+ "getkirby/cms": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1|>=5,<5.1.4",
"getkirby/kirby": "<3.9.8.3-dev|>=3.10,<3.10.1.2-dev|>=4,<4.7.1",
"getkirby/panel": "<2.5.14",
"getkirby/starterkit": "<=3.7.0.2",
@@ -8927,6 +10067,7 @@
"gogentooss/samlbase": "<1.2.7",
"google/protobuf": "<3.4",
"gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3",
+ "gp247/core": "<1.1.24",
"gree/jose": "<2.2.1",
"gregwar/rst": "<1.0.3",
"grumpydictator/firefly-iii": "<6.1.17",
@@ -8945,15 +10086,15 @@
"hov/jobfair": "<1.0.13|>=2,<2.0.2",
"httpsoft/http-message": "<1.0.12",
"hyn/multi-tenant": ">=5.6,<5.7.2",
- "ibexa/admin-ui": ">=4.2,<4.2.3|>=4.6,<4.6.21",
+ "ibexa/admin-ui": ">=4.2,<4.2.3|>=4.6,<4.6.25|>=5,<5.0.3",
"ibexa/admin-ui-assets": ">=4.6.0.0-alpha1,<4.6.21",
"ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.6|>=4.6,<4.6.2",
- "ibexa/fieldtype-richtext": ">=4.6,<4.6.21",
+ "ibexa/fieldtype-richtext": ">=4.6,<4.6.25|>=5,<5.0.3",
"ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3",
"ibexa/http-cache": ">=4.6,<4.6.14",
"ibexa/post-install": "<1.0.16|>=4.6,<4.6.14",
"ibexa/solr": ">=4.5,<4.5.4",
- "ibexa/user": ">=4,<4.4.3",
+ "ibexa/user": ">=4,<4.4.3|>=5,<5.0.4",
"icecoder/icecoder": "<=8.1",
"idno/known": "<=1.3.1",
"ilicmiljan/secure-props": ">=1.2,<1.2.2",
@@ -8989,7 +10130,7 @@
"joomla/archive": "<1.1.12|>=2,<2.0.1",
"joomla/database": ">=1,<2.2|>=3,<3.4",
"joomla/filesystem": "<1.6.2|>=2,<2.0.1",
- "joomla/filter": "<1.4.4|>=2,<2.0.1",
+ "joomla/filter": "<2.0.6|>=3,<3.0.5|==4",
"joomla/framework": "<1.5.7|>=2.5.4,<=3.8.12",
"joomla/input": ">=2,<2.0.2",
"joomla/joomla-cms": "<3.9.12|>=4,<4.4.13|>=5,<5.2.6",
@@ -9028,6 +10169,7 @@
"laravel/socialite": ">=1,<2.0.10",
"latte/latte": "<2.10.8",
"lavalite/cms": "<=9|==10.1",
+ "lavitto/typo3-form-to-database": "<2.2.5|>=3,<3.2.2|>=4,<4.2.3|>=5,<5.0.2",
"lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5",
"league/commonmark": "<2.7",
"league/flysystem": "<1.1.4|>=2,<2.1.1",
@@ -9035,7 +10177,7 @@
"leantime/leantime": "<3.3",
"lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3",
"libreform/libreform": ">=2,<=2.0.8",
- "librenms/librenms": "<2017.08.18",
+ "librenms/librenms": "<25.12",
"liftkit/database": "<2.13.2",
"lightsaml/lightsaml": "<1.3.5",
"limesurvey/limesurvey": "<6.5.12",
@@ -9049,7 +10191,7 @@
"luyadev/yii-helpers": "<1.2.1",
"macropay-solutions/laravel-crud-wizard-free": "<3.4.17",
"maestroerror/php-heic-to-jpg": "<1.0.5",
- "magento/community-edition": "<=2.4.5.0-patch14|==2.4.6|>=2.4.6.0-patch1,<=2.4.6.0-patch12|>=2.4.7.0-beta1,<=2.4.7.0-patch7|>=2.4.8.0-beta1,<=2.4.8.0-patch2|>=2.4.9.0-alpha1,<=2.4.9.0-alpha2|==2.4.9",
+ "magento/community-edition": "<2.4.6.0-patch13|>=2.4.7.0-beta1,<2.4.7.0-patch8|>=2.4.8.0-beta1,<2.4.8.0-patch3|>=2.4.9.0-alpha1,<2.4.9.0-alpha3|==2.4.9",
"magento/core": "<=1.9.4.5",
"magento/magento1ce": "<1.9.4.3-dev",
"magento/magento1ee": ">=1,<1.14.4.3-dev",
@@ -9060,24 +10202,27 @@
"maikuolan/phpmussel": ">=1,<1.6",
"mainwp/mainwp": "<=4.4.3.3",
"manogi/nova-tiptap": "<=3.2.6",
- "mantisbt/mantisbt": "<=2.26.3",
+ "mantisbt/mantisbt": "<2.27.2",
"marcwillmann/turn": "<0.3.3",
"marshmallow/nova-tiptap": "<5.7",
"matomo/matomo": "<1.11",
"matyhtf/framework": "<3.0.6",
- "mautic/core": "<5.2.8|>=6.0.0.0-alpha,<6.0.5",
+ "mautic/core": "<5.2.9|>=6,<6.0.7",
"mautic/core-lib": ">=1.0.0.0-beta,<4.4.13|>=5.0.0.0-alpha,<5.1.1",
+ "mautic/grapes-js-builder-bundle": ">=4,<4.4.18|>=5,<5.2.9|>=6,<6.0.7",
"maximebf/debugbar": "<1.19",
"mdanter/ecc": "<2",
"mediawiki/abuse-filter": "<1.39.9|>=1.40,<1.41.3|>=1.42,<1.42.2",
- "mediawiki/cargo": "<3.6.1",
+ "mediawiki/cargo": "<3.8.3",
"mediawiki/core": "<1.39.5|==1.40",
"mediawiki/data-transfer": ">=1.39,<1.39.11|>=1.41,<1.41.3|>=1.42,<1.42.2",
"mediawiki/matomo": "<2.4.3",
"mediawiki/semantic-media-wiki": "<4.0.2",
"mehrwert/phpmyadmin": "<3.2",
"melisplatform/melis-asset-manager": "<5.0.1",
- "melisplatform/melis-cms": "<5.0.1",
+ "melisplatform/melis-cms": "<5.3.4",
+ "melisplatform/melis-cms-slider": "<5.3.1",
+ "melisplatform/melis-core": "<5.3.11",
"melisplatform/melis-front": "<5.0.1",
"mezzio/mezzio-swoole": "<3.7|>=4,<4.3",
"mgallegos/laravel-jqgrid": "<=1.3",
@@ -9086,23 +10231,24 @@
"microsoft/microsoft-graph-core": "<2.0.2",
"microweber/microweber": "<=2.0.19",
"mikehaertl/php-shellcommand": "<1.6.1",
+ "mineadmin/mineadmin": "<=3.0.9",
"miniorange/miniorange-saml": "<1.4.3",
"mittwald/typo3_forum": "<1.2.1",
"mobiledetect/mobiledetectlib": "<2.8.32",
"modx/revolution": "<=3.1",
"mojo42/jirafeau": "<4.4",
"mongodb/mongodb": ">=1,<1.9.2",
+ "mongodb/mongodb-extension": "<1.21.2",
"monolog/monolog": ">=1.8,<1.12",
- "moodle/moodle": "<4.3.12|>=4.4,<4.4.8|>=4.5.0.0-beta,<4.5.4",
+ "moodle/moodle": "<4.4.11|>=4.5.0.0-beta,<4.5.7|>=5.0.0.0-beta,<5.0.3",
"moonshine/moonshine": "<=3.12.5",
"mos/cimage": "<0.7.19",
"movim/moxl": ">=0.8,<=0.10",
"movingbytes/social-network": "<=1.2.1",
"mpdf/mpdf": "<=7.1.7",
- "munkireport/comment": "<4.1",
+ "munkireport/comment": "<4",
"munkireport/managedinstalls": "<2.6",
"munkireport/munki_facts": "<1.5",
- "munkireport/munkireport": ">=2.5.3,<5.6.3",
"munkireport/reportdata": "<3.5",
"munkireport/softwareupdate": "<1.6",
"mustache/mustache": ">=2,<2.14.1",
@@ -9122,12 +10268,14 @@
"netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15",
"nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6",
"nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13",
+ "neuron-core/neuron-ai": "<=2.8.11",
"nilsteampassnet/teampass": "<3.1.3.1-dev",
"nitsan/ns-backup": "<13.0.1",
"nonfiction/nterchange": "<4.1.1",
"notrinos/notrinos-erp": "<=0.7",
"noumo/easyii": "<=0.9",
"novaksolutions/infusionsoft-php-sdk": "<1",
+ "novosga/novosga": "<=2.2.12",
"nukeviet/nukeviet": "<4.5.02",
"nyholm/psr7": "<1.6.1",
"nystudio107/craft-seomatic": "<3.4.12",
@@ -9140,12 +10288,12 @@
"october/system": "<3.7.5",
"oliverklee/phpunit": "<3.5.15",
"omeka/omeka-s": "<4.0.3",
- "onelogin/php-saml": "<2.10.4",
+ "onelogin/php-saml": "<2.21.1|>=3,<3.8.1|>=4,<4.3.1",
"oneup/uploader-bundle": ">=1,<1.9.3|>=2,<2.1.5",
- "open-web-analytics/open-web-analytics": "<1.7.4",
+ "open-web-analytics/open-web-analytics": "<1.8.1",
"opencart/opencart": ">=0",
"openid/php-openid": "<2.3",
- "openmage/magento-lts": "<20.12.3",
+ "openmage/magento-lts": "<20.16",
"opensolutions/vimbadmin": "<=3.0.15",
"opensource-workshop/connect-cms": "<1.8.7|>=2,<2.4.7",
"orchid/platform": ">=8,<14.43",
@@ -9164,6 +10312,7 @@
"pagekit/pagekit": "<=1.0.18",
"paragonie/ecc": "<2.0.1",
"paragonie/random_compat": "<2",
+ "paragonie/sodium_compat": "<1.24|>=2,<2.5",
"passbolt/passbolt_api": "<4.6.2",
"paypal/adaptivepayments-sdk-php": "<=3.9.2",
"paypal/invoice-sdk-php": "<=3.9",
@@ -9186,11 +10335,12 @@
"phpmailer/phpmailer": "<6.5",
"phpmussel/phpmussel": ">=1,<1.6",
"phpmyadmin/phpmyadmin": "<5.2.2",
- "phpmyfaq/phpmyfaq": "<3.2.5|==3.2.5|>=3.2.10,<=4.0.1",
+ "phpmyfaq/phpmyfaq": "<=4.0.13",
"phpoffice/common": "<0.2.9",
"phpoffice/math": "<=0.2",
"phpoffice/phpexcel": "<=1.8.2",
"phpoffice/phpspreadsheet": "<1.30|>=2,<2.1.12|>=2.2,<2.4|>=3,<3.10|>=4,<5",
+ "phppgadmin/phppgadmin": "<=7.13",
"phpseclib/phpseclib": "<2.0.47|>=3,<3.0.36",
"phpservermon/phpservermon": "<3.6",
"phpsysinfo/phpsysinfo": "<3.4.3",
@@ -9221,15 +10371,16 @@
"prestashop/gamification": "<2.3.2",
"prestashop/prestashop": "<8.2.3",
"prestashop/productcomments": "<5.0.2",
+ "prestashop/ps_checkout": "<4.4.1|>=5,<5.0.5",
"prestashop/ps_contactinfo": "<=3.3.2",
"prestashop/ps_emailsubscription": "<2.6.1",
"prestashop/ps_facetedsearch": "<3.4.1",
"prestashop/ps_linklist": "<3.1",
- "privatebin/privatebin": "<1.4|>=1.5,<1.7.4",
- "processwire/processwire": "<=3.0.229",
+ "privatebin/privatebin": "<1.4|>=1.5,<1.7.4|>=1.7.7,<2.0.3",
+ "processwire/processwire": "<=3.0.246",
"propel/propel": ">=2.0.0.0-alpha1,<=2.0.0.0-alpha7",
"propel/propel1": ">=1,<=1.7.1",
- "pterodactyl/panel": "<=1.11.10",
+ "pterodactyl/panel": "<1.12",
"ptheofan/yii2-statemachine": ">=2.0.0.0-RC1-dev,<=2",
"ptrofimov/beanstalk_console": "<1.7.14",
"pubnub/pubnub": "<6.1",
@@ -9247,18 +10398,18 @@
"rap2hpoutre/laravel-log-viewer": "<0.13",
"react/http": ">=0.7,<1.9",
"really-simple-plugins/complianz-gdpr": "<6.4.2",
- "redaxo/source": "<5.18.3",
+ "redaxo/source": "<5.20.1",
"remdex/livehelperchat": "<4.29",
"renolit/reint-downloadmanager": "<4.0.2|>=5,<5.0.1",
"reportico-web/reportico": "<=8.1",
"rhukster/dom-sanitizer": "<1.0.7",
"rmccue/requests": ">=1.6,<1.8",
- "robrichards/xmlseclibs": ">=1,<3.0.4",
+ "robrichards/xmlseclibs": "<=3.1.3",
"roots/soil": "<4.1",
"roundcube/roundcubemail": "<1.5.10|>=1.6,<1.6.11",
"rudloff/alltube": "<3.0.3",
"rudloff/rtmpdump-bin": "<=2.3.1",
- "s-cart/core": "<6.9",
+ "s-cart/core": "<=9.0.5",
"s-cart/s-cart": "<6.9",
"sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1",
"sabre/dav": ">=1.6,<1.7.11|>=1.8,<1.8.9",
@@ -9269,11 +10420,11 @@
"setasign/fpdi": "<2.6.4",
"sfroemken/url_redirect": "<=1.2.1",
"sheng/yiicms": "<1.2.1",
- "shopware/core": "<6.5.8.18-dev|>=6.6,<6.6.10.3-dev|>=6.7,<6.7.2.1-dev",
- "shopware/platform": "<=6.6.10.4|>=6.7.0.0-RC1-dev,<6.7.0.0-RC2-dev",
+ "shopware/core": "<6.6.10.9-dev|>=6.7,<6.7.4.1-dev",
+ "shopware/platform": "<6.6.10.7-dev|>=6.7,<6.7.3.1-dev",
"shopware/production": "<=6.3.5.2",
- "shopware/shopware": "<=5.7.17|>=6.7,<6.7.2.1-dev",
- "shopware/storefront": "<=6.4.8.1|>=6.5.8,<6.5.8.7-dev",
+ "shopware/shopware": "<=5.7.17|>=6.4.6,<6.6.10.10-dev|>=6.7,<6.7.5.1-dev",
+ "shopware/storefront": "<6.6.10.10-dev|>=6.7,<6.7.5.1-dev",
"shopxo/shopxo": "<=6.4",
"showdoc/showdoc": "<2.10.4",
"shuchkin/simplexlsx": ">=1.0.12,<1.1.13",
@@ -9314,7 +10465,7 @@
"slim/slim": "<2.6",
"slub/slub-events": "<3.0.3",
"smarty/smarty": "<4.5.3|>=5,<5.1.1",
- "snipe/snipe-it": "<8.1",
+ "snipe/snipe-it": "<=8.3.4",
"socalnick/scn-social-auth": "<1.15.2",
"socialiteproviders/steam": "<1.1",
"solspace/craft-freeform": ">=5,<5.10.16",
@@ -9323,14 +10474,16 @@
"spatie/image-optimizer": "<1.7.3",
"spencer14420/sp-php-email-handler": "<1",
"spipu/html2pdf": "<5.2.8",
+ "spiral/roadrunner": "<2025.1",
"spoon/library": "<1.4.1",
"spoonity/tcpdf": "<6.2.22",
"squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1",
"ssddanbrown/bookstack": "<24.05.1",
- "starcitizentools/citizen-skin": ">=1.9.4,<3.4",
+ "starcitizentools/citizen-skin": ">=1.9.4,<3.9",
"starcitizentools/short-description": ">=4,<4.0.1",
"starcitizentools/tabber-neue": ">=1.9.1,<2.7.2|>=3,<3.1.1",
- "statamic/cms": "<=5.16",
+ "starcitizenwiki/embedvideo": "<=4",
+ "statamic/cms": "<=5.22",
"stormpath/sdk": "<9.9.99",
"studio-42/elfinder": "<=2.1.64",
"studiomitte/friendlycaptcha": "<0.1.4",
@@ -9361,7 +10514,7 @@
"symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1",
"symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<5.3.15|>=5.4.3,<5.4.4|>=6.0.3,<6.0.4",
"symfony/http-client": ">=4.3,<5.4.47|>=6,<6.4.15|>=7,<7.1.8",
- "symfony/http-foundation": "<5.4.46|>=6,<6.4.14|>=7,<7.1.7",
+ "symfony/http-foundation": "<5.4.50|>=6,<6.4.29|>=7,<7.3.7",
"symfony/http-kernel": ">=2,<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.2.6",
"symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13",
"symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1",
@@ -9380,7 +10533,7 @@
"symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8",
"symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.4.47|>=6,<6.4.15|>=7,<7.1.8",
"symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12",
- "symfony/symfony": "<5.4.47|>=6,<6.4.15|>=7,<7.1.8",
+ "symfony/symfony": "<5.4.50|>=6,<6.4.29|>=7,<7.3.7",
"symfony/translation": ">=2,<2.0.17",
"symfony/twig-bridge": ">=2,<4.4.51|>=5,<5.4.31|>=6,<6.3.8",
"symfony/ux-autocomplete": "<2.11.2",
@@ -9404,7 +10557,7 @@
"thelia/thelia": ">=2.1,<2.1.3",
"theonedemon/phpwhois": "<=4.2.5",
"thinkcmf/thinkcmf": "<6.0.8",
- "thorsten/phpmyfaq": "<=4.0.1",
+ "thorsten/phpmyfaq": "<4.0.16|>=4.1.0.0-alpha,<=4.1.0.0-beta2",
"tikiwiki/tiki-manager": "<=17.1",
"timber/timber": ">=0.16.6,<1.23.1|>=1.24,<1.24.1|>=2,<2.1",
"tinymce/tinymce": "<7.2",
@@ -9415,12 +10568,12 @@
"topthink/framework": "<6.0.17|>=6.1,<=8.0.4",
"topthink/think": "<=6.1.1",
"topthink/thinkphp": "<=3.2.3|>=6.1.3,<=8.0.4",
- "torrentpier/torrentpier": "<=2.4.3",
+ "torrentpier/torrentpier": "<=2.8.8",
"tpwd/ke_search": "<4.0.3|>=4.1,<4.6.6|>=5,<5.0.2",
"tribalsystems/zenario": "<=9.7.61188",
"truckersmp/phpwhois": "<=4.3.1",
"ttskch/pagination-service-provider": "<1",
- "twbs/bootstrap": "<3.4.1|>=4,<=4.6.2",
+ "twbs/bootstrap": "<3.4.1|>=4,<4.3.1",
"twig/twig": "<3.11.2|>=3.12,<3.14.1|>=3.16,<3.19",
"typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2",
"typo3/cms-backend": "<4.1.14|>=4.2,<4.2.15|>=4.3,<4.3.7|>=4.4,<4.4.4|>=7,<=7.6.50|>=8,<=8.7.39|>=9,<9.5.55|>=10,<10.4.54|>=11,<11.5.48|>=12,<12.4.37|>=13,<13.4.18",
@@ -9484,6 +10637,7 @@
"webklex/laravel-imap": "<5.3",
"webklex/php-imap": "<5.3",
"webpa/webpa": "<3.1.2",
+ "webreinvent/vaahcms": "<=2.3.1",
"wikibase/wikibase": "<=1.39.3",
"wikimedia/parsoid": "<0.12.2",
"willdurand/js-translation-bundle": "<2.1.1",
@@ -9519,8 +10673,9 @@
"yiisoft/yii2-redis": "<2.0.20",
"yikesinc/yikes-inc-easy-mailchimp-extender": "<6.8.6",
"yoast-seo-for-typo3/yoast_seo": "<7.2.3",
- "yourls/yourls": "<=1.8.2",
+ "yourls/yourls": "<=1.10.2",
"yuan1994/tpadmin": "<=1.3.12",
+ "yungifez/skuul": "<=2.6.5",
"z-push/z-push-dev": "<2.7.6",
"zencart/zencart": "<=1.5.7.0-beta",
"zendesk/zendesk_api_client_php": "<2.2.11",
@@ -9548,192 +10703,80 @@
"zendframework/zendservice-amazon": "<2.0.3",
"zendframework/zendservice-api": "<1",
"zendframework/zendservice-audioscrobbler": "<2.0.2",
- "zendframework/zendservice-nirvanix": "<2.0.2",
- "zendframework/zendservice-slideshare": "<2.0.2",
- "zendframework/zendservice-technorati": "<2.0.2",
- "zendframework/zendservice-windowsazure": "<2.0.2",
- "zendframework/zendxml": ">=1,<1.0.1",
- "zenstruck/collection": "<0.2.1",
- "zetacomponents/mail": "<1.8.2",
- "zf-commons/zfc-user": "<1.2.2",
- "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3",
- "zfr/zfr-oauth2-server-module": "<0.1.2",
- "zoujingli/thinkadmin": "<=6.1.53"
- },
- "default-branch": true,
- "type": "metapackage",
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Marco Pivetta",
- "email": "ocramius@gmail.com",
- "role": "maintainer"
- },
- {
- "name": "Ilya Tribusean",
- "email": "slash3b@gmail.com",
- "role": "maintainer"
- }
- ],
- "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
- "keywords": [
- "dev"
- ],
- "support": {
- "issues": "https://github.com/Roave/SecurityAdvisories/issues",
- "source": "https://github.com/Roave/SecurityAdvisories/tree/latest"
- },
- "funding": [
- {
- "url": "https://github.com/Ocramius",
- "type": "github"
- },
- {
- "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories",
- "type": "tidelift"
- }
- ],
- "time": "2025-09-11T17:05:04+00:00"
- },
- {
- "name": "sebastian/cli-parser",
- "version": "1.0.2",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
- "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
- }
- ],
- "description": "Library for parsing CLI options",
- "homepage": "https://github.com/sebastianbergmann/cli-parser",
- "support": {
- "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-03-02T06:27:43+00:00"
- },
- {
- "name": "sebastian/code-unit",
- "version": "1.0.8",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit.git",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
+ "zendframework/zendservice-nirvanix": "<2.0.2",
+ "zendframework/zendservice-slideshare": "<2.0.2",
+ "zendframework/zendservice-technorati": "<2.0.2",
+ "zendframework/zendservice-windowsazure": "<2.0.2",
+ "zendframework/zendxml": ">=1,<1.0.1",
+ "zenstruck/collection": "<0.2.1",
+ "zetacomponents/mail": "<1.8.2",
+ "zf-commons/zfc-user": "<1.2.2",
+ "zfcampus/zf-apigility-doctrine": ">=1,<1.0.3",
+ "zfr/zfr-oauth2-server-module": "<0.1.2",
+ "zoujingli/thinkadmin": "<=6.1.53"
},
+ "default-branch": true,
+ "type": "metapackage",
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de",
- "role": "lead"
+ "name": "Marco Pivetta",
+ "email": "ocramius@gmail.com",
+ "role": "maintainer"
+ },
+ {
+ "name": "Ilya Tribusean",
+ "email": "slash3b@gmail.com",
+ "role": "maintainer"
}
],
- "description": "Collection of value objects that represent the PHP code units",
- "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it",
+ "keywords": [
+ "dev"
+ ],
"support": {
- "issues": "https://github.com/sebastianbergmann/code-unit/issues",
- "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8"
+ "issues": "https://github.com/Roave/SecurityAdvisories/issues",
+ "source": "https://github.com/Roave/SecurityAdvisories/tree/latest"
},
"funding": [
{
- "url": "https://github.com/sebastianbergmann",
+ "url": "https://github.com/Ocramius",
"type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories",
+ "type": "tidelift"
}
],
- "time": "2020-10-26T13:08:54+00:00"
+ "time": "2026-01-02T22:05:49+00:00"
},
{
- "name": "sebastian/code-unit-reverse-lookup",
- "version": "2.0.3",
+ "name": "sebastian/cli-parser",
+ "version": "4.2.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5"
+ "url": "https://github.com/sebastianbergmann/cli-parser.git",
+ "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
- "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/90f41072d220e5c40df6e8635f5dafba2d9d4d04",
+ "reference": "90f41072d220e5c40df6e8635f5dafba2d9d4d04",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "4.2-dev"
}
},
"autoload": {
@@ -9748,49 +10791,68 @@
"authors": [
{
"name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
}
],
- "description": "Looks up which function or method a line of code belongs to",
- "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "description": "Library for parsing CLI options",
+ "homepage": "https://github.com/sebastianbergmann/cli-parser",
"support": {
- "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
- "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3"
+ "issues": "https://github.com/sebastianbergmann/cli-parser/issues",
+ "security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/4.2.0"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/cli-parser",
+ "type": "tidelift"
}
],
- "time": "2020-09-28T05:30:19+00:00"
+ "time": "2025-09-14T09:36:45+00:00"
},
{
"name": "sebastian/comparator",
- "version": "4.0.9",
+ "version": "7.1.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5"
+ "reference": "dc904b4bb3ab070865fa4068cd84f3da8b945148"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/67a2df3a62639eab2cc5906065e9805d4fd5dfc5",
- "reference": "67a2df3a62639eab2cc5906065e9805d4fd5dfc5",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/dc904b4bb3ab070865fa4068cd84f3da8b945148",
+ "reference": "dc904b4bb3ab070865fa4068cd84f3da8b945148",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/diff": "^4.0",
- "sebastian/exporter": "^4.0"
+ "ext-dom": "*",
+ "ext-mbstring": "*",
+ "php": ">=8.3",
+ "sebastian/diff": "^7.0",
+ "sebastian/exporter": "^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.2"
+ },
+ "suggest": {
+ "ext-bcmath": "For comparing BcMath\\Number objects"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "7.1-dev"
}
},
"autoload": {
@@ -9829,7 +10891,8 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
- "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.9"
+ "security": "https://github.com/sebastianbergmann/comparator/security/policy",
+ "source": "https://github.com/sebastianbergmann/comparator/tree/7.1.3"
},
"funding": [
{
@@ -9849,33 +10912,33 @@
"type": "tidelift"
}
],
- "time": "2025-08-10T06:51:50+00:00"
+ "time": "2025-08-20T11:27:00+00:00"
},
{
"name": "sebastian/complexity",
- "version": "2.0.3",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a"
+ "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a",
- "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/bad4316aba5303d0221f43f8cee37eb58d384bbb",
+ "reference": "bad4316aba5303d0221f43f8cee37eb58d384bbb",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=7.3"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -9898,7 +10961,75 @@
"homepage": "https://github.com/sebastianbergmann/complexity",
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
- "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3"
+ "security": "https://github.com/sebastianbergmann/complexity/security/policy",
+ "source": "https://github.com/sebastianbergmann/complexity/tree/5.0.0"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2025-02-07T04:55:25+00:00"
+ },
+ {
+ "name": "sebastian/diff",
+ "version": "7.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/diff.git",
+ "reference": "7ab1ea946c012266ca32390913653d844ecd085f"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/7ab1ea946c012266ca32390913653d844ecd085f",
+ "reference": "7ab1ea946c012266ca32390913653d844ecd085f",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.3"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^12.0",
+ "symfony/process": "^7.2"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "7.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ },
+ {
+ "name": "Kore Nordmann",
+ "email": "mail@kore-nordmann.de"
+ }
+ ],
+ "description": "Diff implementation",
+ "homepage": "https://github.com/sebastianbergmann/diff",
+ "keywords": [
+ "diff",
+ "udiff",
+ "unidiff",
+ "unified diff"
+ ],
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/diff/issues",
+ "security": "https://github.com/sebastianbergmann/diff/security/policy",
+ "source": "https://github.com/sebastianbergmann/diff/tree/7.0.0"
},
"funding": [
{
@@ -9906,27 +11037,27 @@
"type": "github"
}
],
- "time": "2023-12-22T06:19:30+00:00"
+ "time": "2025-02-07T04:55:46+00:00"
},
{
"name": "sebastian/environment",
- "version": "5.1.5",
+ "version": "8.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed"
+ "reference": "24a711b5c916efc6d6e62aa65aa2ec98fef77f68"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
- "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/24a711b5c916efc6d6e62aa65aa2ec98fef77f68",
+ "reference": "24a711b5c916efc6d6e62aa65aa2ec98fef77f68",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"suggest": {
"ext-posix": "*"
@@ -9934,7 +11065,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.1-dev"
+ "dev-main": "8.0-dev"
}
},
"autoload": {
@@ -9953,7 +11084,7 @@
}
],
"description": "Provides functionality to handle HHVM/PHP environments",
- "homepage": "http://www.github.com/sebastianbergmann/environment",
+ "homepage": "https://github.com/sebastianbergmann/environment",
"keywords": [
"Xdebug",
"environment",
@@ -9961,42 +11092,55 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
- "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5"
+ "security": "https://github.com/sebastianbergmann/environment/security/policy",
+ "source": "https://github.com/sebastianbergmann/environment/tree/8.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/environment",
+ "type": "tidelift"
}
],
- "time": "2023-02-03T06:03:51+00:00"
+ "time": "2025-08-12T14:11:56+00:00"
},
{
"name": "sebastian/exporter",
- "version": "4.0.6",
+ "version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72"
+ "reference": "016951ae10980765e4e7aee491eb288c64e505b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72",
- "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/016951ae10980765e4e7aee491eb288c64e505b7",
+ "reference": "016951ae10980765e4e7aee491eb288c64e505b7",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/recursion-context": "^4.0"
+ "ext-mbstring": "*",
+ "php": ">=8.3",
+ "sebastian/recursion-context": "^7.0"
},
"require-dev": {
- "ext-mbstring": "*",
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -10038,46 +11182,56 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
- "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6"
+ "security": "https://github.com/sebastianbergmann/exporter/security/policy",
+ "source": "https://github.com/sebastianbergmann/exporter/tree/7.0.2"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/exporter",
+ "type": "tidelift"
}
],
- "time": "2024-03-02T06:33:00+00:00"
+ "time": "2025-09-24T06:16:11+00:00"
},
{
"name": "sebastian/global-state",
- "version": "5.0.8",
+ "version": "8.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6"
+ "reference": "ef1377171613d09edd25b7816f05be8313f9115d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/b6781316bdcd28260904e7cc18ec983d0d2ef4f6",
- "reference": "b6781316bdcd28260904e7cc18ec983d0d2ef4f6",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/ef1377171613d09edd25b7816f05be8313f9115d",
+ "reference": "ef1377171613d09edd25b7816f05be8313f9115d",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.3",
+ "sebastian/object-reflector": "^5.0",
+ "sebastian/recursion-context": "^7.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^9.3"
- },
- "suggest": {
- "ext-uopz": "*"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "5.0-dev"
+ "dev-main": "8.0-dev"
}
},
"autoload": {
@@ -10096,13 +11250,14 @@
}
],
"description": "Snapshotting of global state",
- "homepage": "http://www.github.com/sebastianbergmann/global-state",
+ "homepage": "https://www.github.com/sebastianbergmann/global-state",
"keywords": [
"global state"
],
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
- "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.8"
+ "security": "https://github.com/sebastianbergmann/global-state/security/policy",
+ "source": "https://github.com/sebastianbergmann/global-state/tree/8.0.2"
},
"funding": [
{
@@ -10122,33 +11277,33 @@
"type": "tidelift"
}
],
- "time": "2025-08-10T07:10:35+00:00"
+ "time": "2025-08-29T11:29:25+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "1.0.4",
+ "version": "4.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5"
+ "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5",
- "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/97ffee3bcfb5805568d6af7f0f893678fc076d2f",
+ "reference": "97ffee3bcfb5805568d6af7f0f893678fc076d2f",
"shasum": ""
},
"require": {
- "nikic/php-parser": "^4.18 || ^5.0",
- "php": ">=7.3"
+ "nikic/php-parser": "^5.0",
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -10171,7 +11326,8 @@
"homepage": "https://github.com/sebastianbergmann/lines-of-code",
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4"
+ "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/4.0.0"
},
"funding": [
{
@@ -10179,34 +11335,34 @@
"type": "github"
}
],
- "time": "2023-12-22T06:20:34+00:00"
+ "time": "2025-02-07T04:57:28+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "4.0.4",
+ "version": "7.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71"
+ "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71",
- "reference": "5c9eeac41b290a3712d88851518825ad78f45c71",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/1effe8e9b8e068e9ae228e542d5d11b5d16db894",
+ "reference": "1effe8e9b8e068e9ae228e542d5d11b5d16db894",
"shasum": ""
},
"require": {
- "php": ">=7.3",
- "sebastian/object-reflector": "^2.0",
- "sebastian/recursion-context": "^4.0"
+ "php": ">=8.3",
+ "sebastian/object-reflector": "^5.0",
+ "sebastian/recursion-context": "^7.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -10228,7 +11384,8 @@
"homepage": "https://github.com/sebastianbergmann/object-enumerator/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4"
+ "security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/7.0.0"
},
"funding": [
{
@@ -10236,32 +11393,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:12:34+00:00"
+ "time": "2025-02-07T04:57:48+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "2.0.4",
+ "version": "5.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7"
+ "reference": "4bfa827c969c98be1e527abd576533293c634f6a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
- "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/4bfa827c969c98be1e527abd576533293c634f6a",
+ "reference": "4bfa827c969c98be1e527abd576533293c634f6a",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "2.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -10283,7 +11440,8 @@
"homepage": "https://github.com/sebastianbergmann/object-reflector/",
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4"
+ "security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/5.0.0"
},
"funding": [
{
@@ -10291,32 +11449,32 @@
"type": "github"
}
],
- "time": "2020-10-26T13:14:26+00:00"
+ "time": "2025-02-07T04:58:17+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "4.0.6",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "539c6691e0623af6dc6f9c20384c120f963465a0"
+ "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/539c6691e0623af6dc6f9c20384c120f963465a0",
- "reference": "539c6691e0623af6dc6f9c20384c120f963465a0",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/0b01998a7d5b1f122911a66bebcb8d46f0c82d8c",
+ "reference": "0b01998a7d5b1f122911a66bebcb8d46f0c82d8c",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.3"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "4.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -10346,7 +11504,8 @@
"homepage": "https://github.com/sebastianbergmann/recursion-context",
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.6"
+ "security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/7.0.1"
},
"funding": [
{
@@ -10366,86 +11525,32 @@
"type": "tidelift"
}
],
- "time": "2025-08-10T06:57:39+00:00"
- },
- {
- "name": "sebastian/resource-operations",
- "version": "3.0.4",
- "source": {
- "type": "git",
- "url": "https://github.com/sebastianbergmann/resource-operations.git",
- "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
- "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e",
- "shasum": ""
- },
- "require": {
- "php": ">=7.3"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "3.0-dev"
- }
- },
- "autoload": {
- "classmap": [
- "src/"
- ]
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "BSD-3-Clause"
- ],
- "authors": [
- {
- "name": "Sebastian Bergmann",
- "email": "sebastian@phpunit.de"
- }
- ],
- "description": "Provides a list of PHP built-in functions that operate on resources",
- "homepage": "https://www.github.com/sebastianbergmann/resource-operations",
- "support": {
- "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2024-03-14T16:00:52+00:00"
+ "time": "2025-08-13T04:44:59+00:00"
},
{
"name": "sebastian/type",
- "version": "3.2.1",
+ "version": "6.0.3",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7"
+ "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
- "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/e549163b9760b8f71f191651d22acf32d56d6d4d",
+ "reference": "e549163b9760b8f71f191651d22acf32d56d6d4d",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"require-dev": {
- "phpunit/phpunit": "^9.5"
+ "phpunit/phpunit": "^12.0"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.2-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -10468,37 +11573,50 @@
"homepage": "https://github.com/sebastianbergmann/type",
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
- "source": "https://github.com/sebastianbergmann/type/tree/3.2.1"
+ "security": "https://github.com/sebastianbergmann/type/security/policy",
+ "source": "https://github.com/sebastianbergmann/type/tree/6.0.3"
},
"funding": [
{
"url": "https://github.com/sebastianbergmann",
"type": "github"
+ },
+ {
+ "url": "https://liberapay.com/sebastianbergmann",
+ "type": "liberapay"
+ },
+ {
+ "url": "https://thanks.dev/u/gh/sebastianbergmann",
+ "type": "thanks_dev"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/sebastian/type",
+ "type": "tidelift"
}
],
- "time": "2023-02-03T06:13:03+00:00"
+ "time": "2025-08-09T06:57:12+00:00"
},
{
"name": "sebastian/version",
- "version": "3.0.2",
+ "version": "6.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "c6c1022351a901512170118436c764e473f6de8c"
+ "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c",
- "reference": "c6c1022351a901512170118436c764e473f6de8c",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e6ccf7657d4f0a59200564b08cead899313b53c",
+ "reference": "3e6ccf7657d4f0a59200564b08cead899313b53c",
"shasum": ""
},
"require": {
- "php": ">=7.3"
+ "php": ">=8.3"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -10515,277 +11633,180 @@
"name": "Sebastian Bergmann",
"email": "sebastian@phpunit.de",
"role": "lead"
- }
- ],
- "description": "Library that helps with managing the version number of Git-hosted PHP projects",
- "homepage": "https://github.com/sebastianbergmann/version",
- "support": {
- "issues": "https://github.com/sebastianbergmann/version/issues",
- "source": "https://github.com/sebastianbergmann/version/tree/3.0.2"
- },
- "funding": [
- {
- "url": "https://github.com/sebastianbergmann",
- "type": "github"
- }
- ],
- "time": "2020-09-28T06:39:44+00:00"
- },
- {
- "name": "spatie/backtrace",
- "version": "1.8.1",
- "source": {
- "type": "git",
- "url": "https://github.com/spatie/backtrace.git",
- "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/spatie/backtrace/zipball/8c0f16a59ae35ec8c62d85c3c17585158f430110",
- "reference": "8c0f16a59ae35ec8c62d85c3c17585158f430110",
- "shasum": ""
- },
- "require": {
- "php": "^7.3 || ^8.0"
- },
- "require-dev": {
- "ext-json": "*",
- "laravel/serializable-closure": "^1.3 || ^2.0",
- "phpunit/phpunit": "^9.3 || ^11.4.3",
- "spatie/phpunit-snapshot-assertions": "^4.2 || ^5.1.6",
- "symfony/var-dumper": "^5.1 || ^6.0 || ^7.0"
- },
- "type": "library",
- "autoload": {
- "psr-4": {
- "Spatie\\Backtrace\\": "src"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Freek Van de Herten",
- "email": "freek@spatie.be",
- "homepage": "https://spatie.be",
- "role": "Developer"
- }
- ],
- "description": "A better backtrace",
- "homepage": "https://github.com/spatie/backtrace",
- "keywords": [
- "Backtrace",
- "spatie"
+ }
],
+ "description": "Library that helps with managing the version number of Git-hosted PHP projects",
+ "homepage": "https://github.com/sebastianbergmann/version",
"support": {
- "issues": "https://github.com/spatie/backtrace/issues",
- "source": "https://github.com/spatie/backtrace/tree/1.8.1"
+ "issues": "https://github.com/sebastianbergmann/version/issues",
+ "security": "https://github.com/sebastianbergmann/version/security/policy",
+ "source": "https://github.com/sebastianbergmann/version/tree/6.0.0"
},
"funding": [
{
- "url": "https://github.com/sponsors/spatie",
+ "url": "https://github.com/sebastianbergmann",
"type": "github"
- },
- {
- "url": "https://spatie.be/open-source/support-us",
- "type": "other"
}
],
- "time": "2025-08-26T08:22:30+00:00"
+ "time": "2025-02-07T05:00:38+00:00"
},
{
- "name": "spatie/error-solutions",
- "version": "1.1.3",
+ "name": "staabm/side-effects-detector",
+ "version": "1.0.5",
"source": {
"type": "git",
- "url": "https://github.com/spatie/error-solutions.git",
- "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936"
+ "url": "https://github.com/staabm/side-effects-detector.git",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/error-solutions/zipball/e495d7178ca524f2dd0fe6a1d99a1e608e1c9936",
- "reference": "e495d7178ca524f2dd0fe6a1d99a1e608e1c9936",
+ "url": "https://api.github.com/repos/staabm/side-effects-detector/zipball/d8334211a140ce329c13726d4a715adbddd0a163",
+ "reference": "d8334211a140ce329c13726d4a715adbddd0a163",
"shasum": ""
},
"require": {
- "php": "^8.0"
+ "ext-tokenizer": "*",
+ "php": "^7.4 || ^8.0"
},
"require-dev": {
- "illuminate/broadcasting": "^10.0|^11.0|^12.0",
- "illuminate/cache": "^10.0|^11.0|^12.0",
- "illuminate/support": "^10.0|^11.0|^12.0",
- "livewire/livewire": "^2.11|^3.5.20",
- "openai-php/client": "^0.10.1",
- "orchestra/testbench": "8.22.3|^9.0|^10.0",
- "pestphp/pest": "^2.20|^3.0",
- "phpstan/phpstan": "^2.1",
- "psr/simple-cache": "^3.0",
- "psr/simple-cache-implementation": "^3.0",
- "spatie/ray": "^1.28",
- "symfony/cache": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "vlucas/phpdotenv": "^5.5"
- },
- "suggest": {
- "openai-php/client": "Require get solutions from OpenAI",
- "simple-cache-implementation": "To cache solutions from OpenAI"
+ "phpstan/extension-installer": "^1.4.3",
+ "phpstan/phpstan": "^1.12.6",
+ "phpunit/phpunit": "^9.6.21",
+ "symfony/var-dumper": "^5.4.43",
+ "tomasvotruba/type-coverage": "1.0.0",
+ "tomasvotruba/unused-public": "1.0.0"
},
"type": "library",
"autoload": {
- "psr-4": {
- "Spatie\\Ignition\\": "legacy/ignition",
- "Spatie\\ErrorSolutions\\": "src",
- "Spatie\\LaravelIgnition\\": "legacy/laravel-ignition"
- }
+ "classmap": [
+ "lib/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "authors": [
- {
- "name": "Ruben Van Assche",
- "email": "ruben@spatie.be",
- "role": "Developer"
- }
- ],
- "description": "This is my package error-solutions",
- "homepage": "https://github.com/spatie/error-solutions",
+ "description": "A static analysis tool to detect side effects in PHP code",
"keywords": [
- "error-solutions",
- "spatie"
+ "static analysis"
],
"support": {
- "issues": "https://github.com/spatie/error-solutions/issues",
- "source": "https://github.com/spatie/error-solutions/tree/1.1.3"
+ "issues": "https://github.com/staabm/side-effects-detector/issues",
+ "source": "https://github.com/staabm/side-effects-detector/tree/1.0.5"
},
"funding": [
{
- "url": "https://github.com/Spatie",
+ "url": "https://github.com/staabm",
"type": "github"
}
],
- "time": "2025-02-14T12:29:50+00:00"
+ "time": "2024-10-20T05:08:20+00:00"
},
{
- "name": "spatie/flare-client-php",
- "version": "1.10.1",
+ "name": "symfony/yaml",
+ "version": "v7.4.1",
"source": {
"type": "git",
- "url": "https://github.com/spatie/flare-client-php.git",
- "reference": "bf1716eb98bd689451b071548ae9e70738dce62f"
+ "url": "https://github.com/symfony/yaml.git",
+ "reference": "24dd4de28d2e3988b311751ac49e684d783e2345"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/bf1716eb98bd689451b071548ae9e70738dce62f",
- "reference": "bf1716eb98bd689451b071548ae9e70738dce62f",
+ "url": "https://api.github.com/repos/symfony/yaml/zipball/24dd4de28d2e3988b311751ac49e684d783e2345",
+ "reference": "24dd4de28d2e3988b311751ac49e684d783e2345",
"shasum": ""
},
"require": {
- "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0|^12.0",
- "php": "^8.0",
- "spatie/backtrace": "^1.6.1",
- "symfony/http-foundation": "^5.2|^6.0|^7.0",
- "symfony/mime": "^5.2|^6.0|^7.0",
- "symfony/process": "^5.2|^6.0|^7.0",
- "symfony/var-dumper": "^5.2|^6.0|^7.0"
+ "php": ">=8.2",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-ctype": "^1.8"
+ },
+ "conflict": {
+ "symfony/console": "<6.4"
},
"require-dev": {
- "dms/phpunit-arraysubset-asserts": "^0.5.0",
- "pestphp/pest": "^1.20|^2.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "spatie/pest-plugin-snapshots": "^1.0|^2.0"
+ "symfony/console": "^6.4|^7.0|^8.0"
},
+ "bin": [
+ "Resources/bin/yaml-lint"
+ ],
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.3.x-dev"
- }
- },
"autoload": {
- "files": [
- "src/helpers.php"
- ],
"psr-4": {
- "Spatie\\FlareClient\\": "src"
- }
+ "Symfony\\Component\\Yaml\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
- "description": "Send PHP errors to Flare",
- "homepage": "https://github.com/spatie/flare-client-php",
- "keywords": [
- "exception",
- "flare",
- "reporting",
- "spatie"
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
],
+ "description": "Loads and dumps YAML files",
+ "homepage": "https://symfony.com",
"support": {
- "issues": "https://github.com/spatie/flare-client-php/issues",
- "source": "https://github.com/spatie/flare-client-php/tree/1.10.1"
+ "source": "https://github.com/symfony/yaml/tree/v7.4.1"
},
"funding": [
{
- "url": "https://github.com/spatie",
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
"type": "github"
+ },
+ {
+ "url": "https://github.com/nicolas-grekas",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
}
],
- "time": "2025-02-14T13:42:06+00:00"
+ "time": "2025-12-04T18:11:45+00:00"
},
{
- "name": "spatie/ignition",
- "version": "1.15.1",
+ "name": "ta-tikoma/phpunit-architecture-test",
+ "version": "0.8.5",
"source": {
"type": "git",
- "url": "https://github.com/spatie/ignition.git",
- "reference": "31f314153020aee5af3537e507fef892ffbf8c85"
+ "url": "https://github.com/ta-tikoma/phpunit-architecture-test.git",
+ "reference": "cf6fb197b676ba716837c886baca842e4db29005"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/ignition/zipball/31f314153020aee5af3537e507fef892ffbf8c85",
- "reference": "31f314153020aee5af3537e507fef892ffbf8c85",
+ "url": "https://api.github.com/repos/ta-tikoma/phpunit-architecture-test/zipball/cf6fb197b676ba716837c886baca842e4db29005",
+ "reference": "cf6fb197b676ba716837c886baca842e4db29005",
"shasum": ""
},
"require": {
- "ext-json": "*",
- "ext-mbstring": "*",
- "php": "^8.0",
- "spatie/error-solutions": "^1.0",
- "spatie/flare-client-php": "^1.7",
- "symfony/console": "^5.4|^6.0|^7.0",
- "symfony/var-dumper": "^5.4|^6.0|^7.0"
+ "nikic/php-parser": "^4.18.0 || ^5.0.0",
+ "php": "^8.1.0",
+ "phpdocumentor/reflection-docblock": "^5.3.0",
+ "phpunit/phpunit": "^10.5.5 || ^11.0.0 || ^12.0.0",
+ "symfony/finder": "^6.4.0 || ^7.0.0"
},
"require-dev": {
- "illuminate/cache": "^9.52|^10.0|^11.0|^12.0",
- "mockery/mockery": "^1.4",
- "pestphp/pest": "^1.20|^2.0",
- "phpstan/extension-installer": "^1.1",
- "phpstan/phpstan-deprecation-rules": "^1.0",
- "phpstan/phpstan-phpunit": "^1.0",
- "psr/simple-cache-implementation": "*",
- "symfony/cache": "^5.4|^6.0|^7.0",
- "symfony/process": "^5.4|^6.0|^7.0",
- "vlucas/phpdotenv": "^5.5"
- },
- "suggest": {
- "openai-php/client": "Require get solutions from OpenAI",
- "simple-cache-implementation": "To cache solutions from OpenAI"
+ "laravel/pint": "^1.13.7",
+ "phpstan/phpstan": "^1.10.52"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-main": "1.5.x-dev"
- }
- },
"autoload": {
"psr-4": {
- "Spatie\\Ignition\\": "src"
+ "PHPUnit\\Architecture\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -10794,264 +11815,247 @@
],
"authors": [
{
- "name": "Spatie",
- "email": "info@spatie.be",
- "role": "Developer"
+ "name": "Ni Shi",
+ "email": "futik0ma011@gmail.com"
+ },
+ {
+ "name": "Nuno Maduro",
+ "email": "enunomaduro@gmail.com"
}
],
- "description": "A beautiful error page for PHP applications.",
- "homepage": "https://flareapp.io/ignition",
+ "description": "Methods for testing application architecture",
"keywords": [
- "error",
- "flare",
- "laravel",
- "page"
+ "architecture",
+ "phpunit",
+ "stucture",
+ "test",
+ "testing"
],
"support": {
- "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
- "forum": "https://twitter.com/flareappio",
- "issues": "https://github.com/spatie/ignition/issues",
- "source": "https://github.com/spatie/ignition"
+ "issues": "https://github.com/ta-tikoma/phpunit-architecture-test/issues",
+ "source": "https://github.com/ta-tikoma/phpunit-architecture-test/tree/0.8.5"
},
- "funding": [
- {
- "url": "https://github.com/spatie",
- "type": "github"
- }
- ],
- "time": "2025-02-21T14:31:39+00:00"
+ "time": "2025-04-20T20:23:40+00:00"
},
{
- "name": "spatie/laravel-ignition",
- "version": "2.9.1",
+ "name": "theseer/tokenizer",
+ "version": "2.0.1",
"source": {
"type": "git",
- "url": "https://github.com/spatie/laravel-ignition.git",
- "reference": "1baee07216d6748ebd3a65ba97381b051838707a"
+ "url": "https://github.com/theseer/tokenizer.git",
+ "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/1baee07216d6748ebd3a65ba97381b051838707a",
- "reference": "1baee07216d6748ebd3a65ba97381b051838707a",
+ "url": "https://api.github.com/repos/theseer/tokenizer/zipball/7989e43bf381af0eac72e4f0ca5bcbfa81658be4",
+ "reference": "7989e43bf381af0eac72e4f0ca5bcbfa81658be4",
"shasum": ""
},
"require": {
- "ext-curl": "*",
- "ext-json": "*",
- "ext-mbstring": "*",
- "illuminate/support": "^10.0|^11.0|^12.0",
- "php": "^8.1",
- "spatie/ignition": "^1.15",
- "symfony/console": "^6.2.3|^7.0",
- "symfony/var-dumper": "^6.2.3|^7.0"
- },
- "require-dev": {
- "livewire/livewire": "^2.11|^3.3.5",
- "mockery/mockery": "^1.5.1",
- "openai-php/client": "^0.8.1|^0.10",
- "orchestra/testbench": "8.22.3|^9.0|^10.0",
- "pestphp/pest": "^2.34|^3.7",
- "phpstan/extension-installer": "^1.3.1",
- "phpstan/phpstan-deprecation-rules": "^1.1.1|^2.0",
- "phpstan/phpstan-phpunit": "^1.3.16|^2.0",
- "vlucas/phpdotenv": "^5.5"
- },
- "suggest": {
- "openai-php/client": "Require get solutions from OpenAI",
- "psr/simple-cache-implementation": "Needed to cache solutions from OpenAI"
+ "ext-dom": "*",
+ "ext-tokenizer": "*",
+ "ext-xmlwriter": "*",
+ "php": "^8.1"
},
"type": "library",
- "extra": {
- "laravel": {
- "aliases": {
- "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare"
- },
- "providers": [
- "Spatie\\LaravelIgnition\\IgnitionServiceProvider"
- ]
- }
- },
"autoload": {
- "files": [
- "src/helpers.php"
- ],
- "psr-4": {
- "Spatie\\LaravelIgnition\\": "src"
- }
+ "classmap": [
+ "src/"
+ ]
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "MIT"
+ "BSD-3-Clause"
],
"authors": [
{
- "name": "Spatie",
- "email": "info@spatie.be",
+ "name": "Arne Blankerts",
+ "email": "arne@blankerts.de",
"role": "Developer"
}
],
- "description": "A beautiful error page for Laravel applications.",
- "homepage": "https://flareapp.io/ignition",
- "keywords": [
- "error",
- "flare",
- "laravel",
- "page"
- ],
+ "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
"support": {
- "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction",
- "forum": "https://twitter.com/flareappio",
- "issues": "https://github.com/spatie/laravel-ignition/issues",
- "source": "https://github.com/spatie/laravel-ignition"
+ "issues": "https://github.com/theseer/tokenizer/issues",
+ "source": "https://github.com/theseer/tokenizer/tree/2.0.1"
},
"funding": [
{
- "url": "https://github.com/spatie",
+ "url": "https://github.com/theseer",
"type": "github"
}
],
- "time": "2025-02-20T13:13:55+00:00"
+ "time": "2025-12-08T11:19:18+00:00"
},
{
- "name": "squizlabs/php_codesniffer",
- "version": "3.6.2",
+ "name": "webmozart/assert",
+ "version": "2.0.0",
"source": {
"type": "git",
- "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a"
+ "url": "https://github.com/webmozarts/assert.git",
+ "reference": "1b34b004e35a164bc5bb6ebd33c844b2d8069a54"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a",
- "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a",
+ "url": "https://api.github.com/repos/webmozarts/assert/zipball/1b34b004e35a164bc5bb6ebd33c844b2d8069a54",
+ "reference": "1b34b004e35a164bc5bb6ebd33c844b2d8069a54",
"shasum": ""
},
"require": {
- "ext-simplexml": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": ">=5.4.0"
+ "ext-ctype": "*",
+ "ext-date": "*",
+ "ext-filter": "*",
+ "php": "^8.2"
},
- "require-dev": {
- "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0"
+ "suggest": {
+ "ext-intl": "",
+ "ext-simplexml": "",
+ "ext-spl": ""
},
- "bin": [
- "bin/phpcs",
- "bin/phpcbf"
- ],
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "3.x-dev"
+ "dev-feature/2-0": "2.0-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "Webmozart\\Assert\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "MIT"
],
"authors": [
{
- "name": "Greg Sherwood",
- "role": "lead"
+ "name": "Bernhard Schussek",
+ "email": "bschussek@gmail.com"
+ },
+ {
+ "name": "Woody Gilk",
+ "email": "woody.gilk@gmail.com"
}
],
- "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.",
- "homepage": "https://github.com/squizlabs/PHP_CodeSniffer",
+ "description": "Assertions to validate method input/output with nice error messages.",
"keywords": [
- "phpcs",
- "standards"
+ "assert",
+ "check",
+ "validate"
],
"support": {
- "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues",
- "source": "https://github.com/squizlabs/PHP_CodeSniffer",
- "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki"
+ "issues": "https://github.com/webmozarts/assert/issues",
+ "source": "https://github.com/webmozarts/assert/tree/2.0.0"
},
- "funding": [
- {
- "url": "https://github.com/PHPCSStandards",
- "type": "github"
- },
- {
- "url": "https://github.com/jrfnl",
- "type": "github"
- },
- {
- "url": "https://opencollective.com/php_codesniffer",
- "type": "open_collective"
- }
- ],
- "time": "2021-12-12T21:44:58+00:00"
+ "time": "2025-12-16T21:36:00+00:00"
},
{
- "name": "theseer/tokenizer",
- "version": "1.2.3",
+ "name": "zircote/swagger-php",
+ "version": "5.7.7",
"source": {
"type": "git",
- "url": "https://github.com/theseer/tokenizer.git",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
+ "url": "https://github.com/zircote/swagger-php.git",
+ "reference": "a9cf18ac6610fcb1673f108380a76cf9b145a74e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
- "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
+ "url": "https://api.github.com/repos/zircote/swagger-php/zipball/a9cf18ac6610fcb1673f108380a76cf9b145a74e",
+ "reference": "a9cf18ac6610fcb1673f108380a76cf9b145a74e",
"shasum": ""
},
"require": {
- "ext-dom": "*",
- "ext-tokenizer": "*",
- "ext-xmlwriter": "*",
- "php": "^7.2 || ^8.0"
+ "ext-json": "*",
+ "nikic/php-parser": "^4.19 || ^5.0",
+ "php": ">=7.4",
+ "phpstan/phpdoc-parser": "^2.0",
+ "psr/log": "^1.1 || ^2.0 || ^3.0",
+ "symfony/deprecation-contracts": "^2 || ^3",
+ "symfony/finder": "^5.0 || ^6.0 || ^7.0 || ^8.0",
+ "symfony/yaml": "^5.4 || ^6.0 || ^7.0 || ^8.0"
+ },
+ "conflict": {
+ "symfony/process": ">=6, <6.4.14"
},
+ "require-dev": {
+ "composer/package-versions-deprecated": "^1.11",
+ "doctrine/annotations": "^2.0",
+ "friendsofphp/php-cs-fixer": "^3.62.0",
+ "phpstan/phpstan": "^1.6 || ^2.0",
+ "phpunit/phpunit": "^9.0",
+ "rector/rector": "^1.0 || 2.2.14",
+ "vimeo/psalm": "^4.30 || ^5.0"
+ },
+ "suggest": {
+ "doctrine/annotations": "^2.0",
+ "radebatz/type-info-extras": "^1.0.2"
+ },
+ "bin": [
+ "bin/openapi"
+ ],
"type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "5.x-dev"
+ }
+ },
"autoload": {
- "classmap": [
- "src/"
- ]
+ "psr-4": {
+ "OpenApi\\": "src"
+ }
},
"notification-url": "https://packagist.org/downloads/",
"license": [
- "BSD-3-Clause"
+ "Apache-2.0"
],
"authors": [
{
- "name": "Arne Blankerts",
- "email": "arne@blankerts.de",
- "role": "Developer"
+ "name": "Robert Allen",
+ "email": "zircote@gmail.com"
+ },
+ {
+ "name": "Bob Fanger",
+ "email": "bfanger@gmail.com",
+ "homepage": "https://bfanger.nl"
+ },
+ {
+ "name": "Martin Rademacher",
+ "email": "mano@radebatz.net",
+ "homepage": "https://radebatz.net"
}
],
- "description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
+ "description": "Generate interactive documentation for your RESTful API using PHP attributes (preferred) or PHPDoc annotations",
+ "homepage": "https://github.com/zircote/swagger-php",
+ "keywords": [
+ "api",
+ "json",
+ "rest",
+ "service discovery"
+ ],
"support": {
- "issues": "https://github.com/theseer/tokenizer/issues",
- "source": "https://github.com/theseer/tokenizer/tree/1.2.3"
+ "issues": "https://github.com/zircote/swagger-php/issues",
+ "source": "https://github.com/zircote/swagger-php/tree/5.7.7"
},
"funding": [
{
- "url": "https://github.com/theseer",
+ "url": "https://github.com/zircote",
"type": "github"
}
],
- "time": "2024-03-03T12:36:25+00:00"
+ "time": "2026-01-02T21:36:49+00:00"
}
],
"aliases": [],
- "minimum-stability": "dev",
+ "minimum-stability": "stable",
"stability-flags": {
- "roave/security-advisories": 20,
- "starcitizenwiki/mediawikiapi": 20
+ "roave/security-advisories": 20
},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "php": ">=8.1",
- "ext-dom": "*",
+ "php": "^8.2",
"ext-gd": "*",
- "ext-gmp": "*",
- "ext-intl": "*",
- "ext-json": "*",
- "ext-libxml": "*",
- "ext-pdo": "*",
- "ext-simplexml": "*"
+ "ext-pdo": "*"
},
"platform-dev": {},
- "plugin-api-version": "2.6.0"
+ "plugin-api-version": "2.9.0"
}
diff --git a/config/api.php b/config/api.php
deleted file mode 100644
index 57dd87410..000000000
--- a/config/api.php
+++ /dev/null
@@ -1,11 +0,0 @@
- env('WIKI_URL', 'http://localhost'),
- 'rsi_url' => env('RSI_URL', 'https://robertsspaceindustries.com'),
-
- 'sc_data_version' => env('SC_DATA_VERSION'),
- 'sc_data_path' => env('SC_DATA_PATH', 'app/api/scunpacked-data'),
-];
diff --git a/config/app.php b/config/app.php
index 586c64ff9..248f105b5 100644
--- a/config/app.php
+++ b/config/app.php
@@ -1,22 +1,19 @@
'2.1.0',
-
/*
|--------------------------------------------------------------------------
| Application Name
|--------------------------------------------------------------------------
|
- | This value is the name of your application. This value is used when the
+ | This value is the name of your application, which will be used when the
| framework needs to place the application's name in a notification or
- | any other location as required by the application or its packages.
+ | other UI elements where an application name needs to be displayed.
+ |
*/
- 'name' => 'Star Citizen Wiki Api',
+ 'name' => env('APP_NAME', 'Laravel'),
/*
|--------------------------------------------------------------------------
@@ -25,7 +22,7 @@
|
| This value determines the "environment" your application is currently
| running in. This may determine how you prefer to configure various
- | services your application utilizes. Set this in your ".env" file.
+ | services the application utilizes. Set this in your ".env" file.
|
*/
@@ -42,7 +39,7 @@
|
*/
- 'debug' => env('APP_DEBUG', false),
+ 'debug' => (bool) env('APP_DEBUG', false),
/*
|--------------------------------------------------------------------------
@@ -51,7 +48,7 @@
|
| This URL is used by the console to properly generate URLs when using
| the Artisan command line tool. You should set this to the root of
- | your application so that it is used when running Artisan tasks.
+ | the application so that it's available within Artisan commands.
|
*/
@@ -63,12 +60,12 @@
|--------------------------------------------------------------------------
|
| Here you may specify the default timezone for your application, which
- | will be used by the PHP date and date-time functions. We have gone
- | ahead and set this to a sensible default for you out of the box.
+ | will be used by the PHP date and date-time functions. The timezone
+ | is set to "UTC" by default as it is suitable for most use cases.
|
*/
- 'timezone' => 'Europe/Berlin',
+ 'timezone' => 'UTC',
/*
|--------------------------------------------------------------------------
@@ -76,140 +73,61 @@
|--------------------------------------------------------------------------
|
| The application locale determines the default locale that will be used
- | by the translation service provider. You are free to set this value
- | to any of the locales which will be supported by the application.
+ | by Laravel's translation / localization methods. This option can be
+ | set to any locale for which you plan to have translation strings.
|
*/
- 'locale' => 'de',
+ 'locale' => env('APP_LOCALE', 'en'),
- /*
- |--------------------------------------------------------------------------
- | Application Fallback Locale
- |--------------------------------------------------------------------------
- |
- | The fallback locale determines the locale to use when the current one
- | is not available. You may change the value to correspond to any of
- | the language folders that are provided through your application.
- |
- */
+ 'fallback_locale' => env('APP_FALLBACK_LOCALE', 'en'),
- 'fallback_locale' => 'en',
+ 'faker_locale' => env('APP_FAKER_LOCALE', 'en_US'),
/*
|--------------------------------------------------------------------------
| Encryption Key
|--------------------------------------------------------------------------
|
- | This key is used by the Illuminate encrypter service and should be set
- | to a random, 32 character string, otherwise these encrypted strings
- | will not be safe. Please do this before deploying an application!
+ | This key is utilized by Laravel's encryption services and should be set
+ | to a random, 32 character string to ensure that all encrypted values
+ | are secure. You should do this prior to deploying the application.
|
*/
- 'key' => env('APP_KEY'),
-
'cipher' => 'AES-256-CBC',
- /*
- |--------------------------------------------------------------------------
- | Autoloaded Service Providers
- |--------------------------------------------------------------------------
- |
- | The service providers listed here will be automatically loaded on the
- | request to your application. Feel free to add your own services to
- | this array to grant expanded functionality to your applications.
- |
- */
+ 'key' => env('APP_KEY'),
- 'providers' => [
-
- /*
- * Laravel Framework Service Providers...
- */
- Illuminate\Auth\AuthServiceProvider::class,
- Illuminate\Broadcasting\BroadcastServiceProvider::class,
- Illuminate\Bus\BusServiceProvider::class,
- Illuminate\Cache\CacheServiceProvider::class,
- Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class,
- Illuminate\Cookie\CookieServiceProvider::class,
- Illuminate\Database\DatabaseServiceProvider::class,
- Illuminate\Encryption\EncryptionServiceProvider::class,
- Illuminate\Filesystem\FilesystemServiceProvider::class,
- Illuminate\Foundation\Providers\FoundationServiceProvider::class,
- Illuminate\Hashing\HashServiceProvider::class,
- Illuminate\Mail\MailServiceProvider::class,
- Illuminate\Notifications\NotificationServiceProvider::class,
- Illuminate\Pagination\PaginationServiceProvider::class,
- Illuminate\Pipeline\PipelineServiceProvider::class,
- Illuminate\Queue\QueueServiceProvider::class,
- Illuminate\Redis\RedisServiceProvider::class,
- Illuminate\Auth\Passwords\PasswordResetServiceProvider::class,
- Illuminate\Session\SessionServiceProvider::class,
- Illuminate\Translation\TranslationServiceProvider::class,
- Illuminate\Validation\ValidationServiceProvider::class,
- Illuminate\View\ViewServiceProvider::class,
-
- /*
- * Package Service Providers...
- */
-
- /*
- * Application Service Providers...
- */
- App\Providers\AppServiceProvider::class,
- App\Providers\AuthServiceProvider::class,
- App\Providers\EventServiceProvider::class,
- App\Providers\RouteServiceProvider::class,
-
- App\Providers\Web\User\AuthRepositoryServiceProvider::class,
+ 'previous_keys' => [
+ ...array_filter(
+ explode(',', (string) env('APP_PREVIOUS_KEYS', ''))
+ ),
],
/*
|--------------------------------------------------------------------------
- | Class Aliases
+ | Maintenance Mode Driver
|--------------------------------------------------------------------------
|
- | This array of class aliases will be registered when this application
- | is started. However, feel free to register as many as you wish as
- | the aliases are "lazy" loaded so they don't hinder performance.
+ | These configuration options determine the driver used to determine and
+ | manage Laravel's "maintenance mode" status. The "cache" driver will
+ | allow maintenance mode to be controlled across multiple machines.
+ |
+ | Supported drivers: "file", "cache"
|
*/
- 'aliases' => [
- 'App' => Illuminate\Support\Facades\App::class,
- 'Artisan' => Illuminate\Support\Facades\Artisan::class,
- 'Auth' => Illuminate\Support\Facades\Auth::class,
- 'Blade' => Illuminate\Support\Facades\Blade::class,
- 'Bus' => Illuminate\Support\Facades\Bus::class,
- 'Cache' => Illuminate\Support\Facades\Cache::class,
- 'Config' => Illuminate\Support\Facades\Config::class,
- 'Cookie' => Illuminate\Support\Facades\Cookie::class,
- 'Crypt' => Illuminate\Support\Facades\Crypt::class,
- 'DB' => Illuminate\Support\Facades\DB::class,
- 'Eloquent' => Illuminate\Database\Eloquent\Model::class,
- 'Event' => Illuminate\Support\Facades\Event::class,
- 'File' => Illuminate\Support\Facades\File::class,
- 'Gate' => Illuminate\Support\Facades\Gate::class,
- 'Hash' => Illuminate\Support\Facades\Hash::class,
- 'Lang' => Illuminate\Support\Facades\Lang::class,
- 'Log' => Illuminate\Support\Facades\Log::class,
- 'Mail' => Illuminate\Support\Facades\Mail::class,
- 'Notification' => Illuminate\Support\Facades\Notification::class,
- 'Password' => Illuminate\Support\Facades\Password::class,
- 'Queue' => Illuminate\Support\Facades\Queue::class,
- 'Redirect' => Illuminate\Support\Facades\Redirect::class,
- 'Redis' => Illuminate\Support\Facades\Redis::class,
- 'Request' => Illuminate\Support\Facades\Request::class,
- 'Response' => Illuminate\Support\Facades\Response::class,
- 'Route' => Illuminate\Support\Facades\Route::class,
- 'Schema' => Illuminate\Support\Facades\Schema::class,
- 'Session' => Illuminate\Support\Facades\Session::class,
- 'Storage' => Illuminate\Support\Facades\Storage::class,
- 'URL' => Illuminate\Support\Facades\URL::class,
- 'Validator' => Illuminate\Support\Facades\Validator::class,
- 'View' => Illuminate\Support\Facades\View::class,
+ 'maintenance' => [
+ 'driver' => env('APP_MAINTENANCE_DRIVER', 'file'),
+ 'store' => env('APP_MAINTENANCE_STORE', 'database'),
+ ],
+ 'ui' => [
+ 'themes' => [
+ 'light' => 'api-light',
+ 'dark' => 'api-dark',
+ ],
],
];
diff --git a/config/auth.php b/config/auth.php
index 386556d24..7d1eb0de5 100644
--- a/config/auth.php
+++ b/config/auth.php
@@ -1,7 +1,5 @@
[
- 'guard' => 'web',
- 'passwords' => 'users',
+ 'guard' => env('AUTH_GUARD', 'web'),
+ 'passwords' => env('AUTH_PASSWORD_BROKER', 'users'),
],
/*
@@ -27,13 +25,13 @@
|
| Next, you may define every authentication guard for your application.
| Of course, a great default configuration has been defined for you
- | here which uses session storage and the Eloquent user provider.
+ | which utilizes session storage plus the Eloquent user provider.
|
- | All authentication drivers have a user provider. This defines how the
+ | All authentication guards have a user provider, which defines how the
| users are actually retrieved out of your database or other storage
- | mechanisms used by this application to persist your user's data.
+ | system used by the application. Typically, Eloquent is utilized.
|
- | Supported: "session", "token"
+ | Supported: "session"
|
*/
@@ -42,11 +40,6 @@
'driver' => 'session',
'provider' => 'users',
],
-
- 'api' => [
- 'driver' => 'token',
- 'provider' => 'users',
- ],
],
/*
@@ -54,12 +47,12 @@
| User Providers
|--------------------------------------------------------------------------
|
- | All authentication drivers have a user provider. This defines how the
+ | All authentication guards have a user provider, which defines how the
| users are actually retrieved out of your database or other storage
- | mechanisms used by this application to persist your user's data.
+ | system used by the application. Typically, Eloquent is utilized.
|
| If you have multiple user tables or models you may configure multiple
- | sources which represent each model / table. These sources may then
+ | providers to represent the model / table. These providers may then
| be assigned to any extra authentication guards you have defined.
|
| Supported: "database", "eloquent"
@@ -69,8 +62,7 @@
'providers' => [
'users' => [
'driver' => 'eloquent',
- 'model' => App\Models\Account\User\User::class,
- 'use_stub' => env('ADMIN_AUTH_USE_STUB', false),
+ 'model' => env('AUTH_MODEL', App\Models\User::class),
],
// 'users' => [
@@ -84,22 +76,40 @@
| Resetting Passwords
|--------------------------------------------------------------------------
|
- | You may specify multiple password reset configurations if you have more
- | than one user table or model in the application and you want to have
- | separate password reset settings based on the specific user types.
+ | These configuration options specify the behavior of Laravel's password
+ | reset functionality, including the table utilized for token storage
+ | and the user provider that is invoked to actually retrieve users.
|
- | The expire time is the number of minutes that the reset token should be
+ | The expiry time is the number of minutes that each reset token will be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
+ | The throttle setting is the number of seconds a user must wait before
+ | generating more password reset tokens. This prevents the user from
+ | quickly generating a very large amount of password reset tokens.
+ |
*/
'passwords' => [
'users' => [
'provider' => 'users',
- 'table' => 'password_resets',
+ 'table' => env('AUTH_PASSWORD_RESET_TOKEN_TABLE', 'password_reset_tokens'),
'expire' => 60,
+ 'throttle' => 60,
],
],
+ /*
+ |--------------------------------------------------------------------------
+ | Password Confirmation Timeout
+ |--------------------------------------------------------------------------
+ |
+ | Here you may define the number of seconds before a password confirmation
+ | window expires and users are asked to re-enter their password via the
+ | confirmation screen. By default, the timeout lasts for three hours.
+ |
+ */
+
+ 'password_timeout' => env('AUTH_PASSWORD_TIMEOUT', 10800),
+
];
diff --git a/config/broadcasting.php b/config/broadcasting.php
deleted file mode 100644
index 19a59bad9..000000000
--- a/config/broadcasting.php
+++ /dev/null
@@ -1,58 +0,0 @@
- env('BROADCAST_DRIVER', 'null'),
-
- /*
- |--------------------------------------------------------------------------
- | Broadcast Connections
- |--------------------------------------------------------------------------
- |
- | Here you may define all of the broadcast connections that will be used
- | to broadcast events to other systems or over websockets. Samples of
- | each available type of connection are provided inside this array.
- |
- */
-
- 'connections' => [
-
- 'pusher' => [
- 'driver' => 'pusher',
- 'key' => env('PUSHER_KEY'),
- 'secret' => env('PUSHER_SECRET'),
- 'app_id' => env('PUSHER_APP_ID'),
- 'options' => [
- //
- ],
- ],
-
- 'redis' => [
- 'driver' => 'redis',
- 'connection' => 'default',
- ],
-
- 'log' => [
- 'driver' => 'log',
- ],
-
- 'null' => [
- 'driver' => 'null',
- ],
-
- ],
-
-];
diff --git a/config/cache.php b/config/cache.php
index 5d974e1e0..b32aead25 100644
--- a/config/cache.php
+++ b/config/cache.php
@@ -1,5 +1,7 @@
env('CACHE_DRIVER', 'file'),
-
- 'duration' => env('CACHE_DURATION', 10),
+ 'default' => env('CACHE_STORE', 'database'),
/*
|--------------------------------------------------------------------------
@@ -28,27 +26,31 @@
| well as their drivers. You may even define multiple stores for the
| same cache driver to group types of items stored in your caches.
|
+ | Supported drivers: "array", "database", "file", "memcached",
+ | "redis", "dynamodb", "octane",
+ | "failover", "null"
+ |
*/
'stores' => [
- 'apc' => [
- 'driver' => 'apc',
- ],
-
'array' => [
'driver' => 'array',
+ 'serialize' => false,
],
'database' => [
'driver' => 'database',
- 'table' => 'cache',
- 'connection' => null,
+ 'connection' => env('DB_CACHE_CONNECTION'),
+ 'table' => env('DB_CACHE_TABLE', 'cache'),
+ 'lock_connection' => env('DB_CACHE_LOCK_CONNECTION'),
+ 'lock_table' => env('DB_CACHE_LOCK_TABLE'),
],
'file' => [
'driver' => 'file',
- 'path' => storage_path('framework/cache'),
+ 'path' => storage_path('framework/cache/data'),
+ 'lock_path' => storage_path('framework/cache/data'),
],
'memcached' => [
@@ -58,7 +60,8 @@
env('MEMCACHED_USERNAME'),
env('MEMCACHED_PASSWORD'),
],
- 'options' => [// Memcached::OPT_CONNECT_TIMEOUT => 2000,
+ 'options' => [
+ // Memcached::OPT_CONNECT_TIMEOUT => 2000,
],
'servers' => [
[
@@ -71,7 +74,29 @@
'redis' => [
'driver' => 'redis',
- 'connection' => 'default',
+ 'connection' => env('REDIS_CACHE_CONNECTION', 'cache'),
+ 'lock_connection' => env('REDIS_CACHE_LOCK_CONNECTION', 'default'),
+ ],
+
+ 'dynamodb' => [
+ 'driver' => 'dynamodb',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
+ 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'),
+ 'endpoint' => env('DYNAMODB_ENDPOINT'),
+ ],
+
+ 'octane' => [
+ 'driver' => 'octane',
+ ],
+
+ 'failover' => [
+ 'driver' => 'failover',
+ 'stores' => [
+ 'database',
+ 'array',
+ ],
],
],
@@ -81,12 +106,12 @@
| Cache Key Prefix
|--------------------------------------------------------------------------
|
- | When utilizing a RAM based store such as APC or Memcached, there might
- | be other applications utilizing the same cache. So, we'll specify a
- | value to get prefixed to all our keys so we can avoid collisions.
+ | When utilizing the APC, database, memcached, Redis, and DynamoDB cache
+ | stores, there might be other applications using the same cache. For
+ | that reason, you may prefix every cache key to avoid collisions.
|
*/
- 'prefix' => 'wikiapi_tools',
+ 'prefix' => env('CACHE_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-cache-'),
];
diff --git a/config/compile.php b/config/compile.php
deleted file mode 100644
index 04807eac4..000000000
--- a/config/compile.php
+++ /dev/null
@@ -1,35 +0,0 @@
- [
- //
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Compiled File Providers
- |--------------------------------------------------------------------------
- |
- | Here you may list service providers which define a "compiles" function
- | that returns additional files that should be compiled, providing an
- | easy way to get common files from any packages you are utilizing.
- |
- */
-
- 'providers' => [
- //
- ],
-
-];
diff --git a/config/data_migration.php b/config/data_migration.php
new file mode 100644
index 000000000..240883f51
--- /dev/null
+++ b/config/data_migration.php
@@ -0,0 +1,74 @@
+ 'vehicles',
+ * 'primary_key' => 'id',
+ * 'rename' => [
+ * 'old_column_name' => 'new_column_name',
+ * ],
+ * 'drop' => [
+ * 'unused_column',
+ * ],
+ * 'defaults' => [
+ * 'created_at' => now(), // example
+ * ],
+ * ],
+ */
+
+return [
+ 'from_connection' => env('MIGRATE_FROM_CONNECTION', 'mariadb'),
+ 'to_connection' => env('MIGRATE_TO_CONNECTION', 'pgsql'),
+
+ 'groups' => [
+ 'CommLinks' => [
+ 'comm_link_categories',
+ 'comm_link_channels',
+ 'comm_link_series',
+
+ [
+ 'table' => 'comm_link_images',
+ 'primary_key' => 'id',
+
+ 'drop' => ['base_image_id', 'local'],
+ ],
+
+ 'comm_link_image_metadata',
+ 'comm_link_links',
+ 'comm_links',
+ 'comm_link_link',
+ 'comm_link_image',
+ ],
+
+ 'ShipMatrix' => [
+ ['table' => 'manufacturers', 'target' => 'shipmatrix_manufacturers'],
+ ['table' => 'production_notes', 'target' => 'shipmatrix_production_notes', 'defaults' => ['created_at' => now(), 'updated_at' => now()]],
+ ['table' => 'production_statuses', 'target' => 'shipmatrix_production_statuses', 'defaults' => ['created_at' => now(), 'updated_at' => now()]],
+ ['table' => 'vehicle_foci', 'target' => 'shipmatrix_vehicle_foci', 'defaults' => ['created_at' => now(), 'updated_at' => now()]],
+ ['table' => 'vehicle_sizes', 'target' => 'shipmatrix_vehicle_sizes', 'defaults' => ['created_at' => now(), 'updated_at' => now()]],
+ ['table' => 'vehicle_types', 'target' => 'shipmatrix_vehicle_types', 'defaults' => ['created_at' => now(), 'updated_at' => now()]],
+ ['table' => 'vehicles', 'target' => 'shipmatrix_vehicles'],
+ ['table' => 'vehicle_loaners', 'target' => 'shipmatrix_vehicle_loaners'],
+ ['table' => 'vehicle_skus', 'target' => 'shipmatrix_vehicle_skus'],
+ ['table' => 'vehicle_vehicle_focus', 'target' => 'shipmatrix_vehicle_vehicle_focus'],
+ ['table' => 'vehicle_components', 'target' => 'shipmatrix_vehicle_components'],
+ ['table' => 'vehicle_vehicle_component', 'target' => 'shipmatrix_vehicle_component'],
+ ],
+
+ 'Galactapedia' => [
+ 'galactapedia_templates',
+ 'galactapedia_tags',
+ 'galactapedia_categories',
+ 'galactapedia_articles',
+ 'galactapedia_article_templates',
+ 'galactapedia_article_tags',
+ 'galactapedia_article_relates',
+ 'galactapedia_article_properties',
+ 'galactapedia_article_categories',
+ ],
+
+ 'Stats' => [
+ 'stats',
+ ],
+ ],
+];
diff --git a/config/database.php b/config/database.php
index b85cdc928..3296f3d01 100644
--- a/config/database.php
+++ b/config/database.php
@@ -1,48 +1,31 @@
PDO::FETCH_OBJ,
-
/*
|--------------------------------------------------------------------------
| Default Database Connection Name
|--------------------------------------------------------------------------
|
| Here you may specify which of the database connections below you wish
- | to use as your default connection for all database work. Of course
- | you may use many connections at once using the Database library.
+ | to use as your default connection for database operations. This is
+ | the connection which will be utilized unless another connection
+ | is explicitly specified when you execute a query / statement.
|
*/
- 'default' => env('DB_CONNECTION', 'mysql'),
+ 'default' => env('DB_CONNECTION', 'sqlite'),
/*
|--------------------------------------------------------------------------
| Database Connections
|--------------------------------------------------------------------------
|
- | Here are each of the database connections setup for your application.
- | Of course, examples of configuring each database platform that is
- | supported by Laravel is shown below to make development simple.
- |
- |
- | All database work in Laravel is done through the PHP PDO facilities
- | so make sure you have the driver for your particular database of
- | choice installed on your machine before you begin development.
+ | Below are all of the database connections defined for your application.
+ | An example configuration is provided for each database system which
+ | is supported by Laravel. You're free to add / remove connections.
|
*/
@@ -50,48 +33,86 @@
'sqlite' => [
'driver' => 'sqlite',
- 'database' => database_path(env('DB_DATABASE')),
+ 'url' => env('DB_URL'),
+ 'database' => env('DB_DATABASE', database_path('database.sqlite')),
'prefix' => '',
+ 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true),
+ 'busy_timeout' => null,
+ 'journal_mode' => null,
+ 'synchronous' => null,
+ 'transaction_mode' => 'DEFERRED',
],
'mysql' => [
'driver' => 'mysql',
+ 'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
- 'charset' => 'utf8mb4',
- 'collation' => 'utf8mb4_unicode_ci',
+ 'unix_socket' => env('DB_SOCKET', ''),
+ 'charset' => env('DB_CHARSET', 'utf8mb4'),
+ 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
'prefix' => '',
+ 'prefix_indexes' => true,
'strict' => true,
'engine' => null,
+ 'options' => extension_loaded('pdo_mysql') ? array_filter([
+ Pdo\Mysql::ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+ ]) : [],
+ ],
- // Siehe https://github.com/laravel/framework/issues/14997#issuecomment-242129087
- 'modes' => [
- // 'ONLY_FULL_GROUP_BY',
- 'STRICT_TRANS_TABLES',
- 'NO_ZERO_IN_DATE',
- 'NO_ZERO_DATE',
- 'ERROR_FOR_DIVISION_BY_ZERO',
- 'NO_AUTO_CREATE_USER',
- 'NO_ENGINE_SUBSTITUTION',
- ],
+ 'mariadb' => [
+ 'driver' => 'mariadb',
+ 'url' => env('DB_URL'),
+ 'host' => env('MARIADB_HOST', '127.0.0.1'),
+ 'port' => env('MARIADB_PORT', '3306'),
+ 'database' => env('MARIADB_DATABASE', 'laravel'),
+ 'username' => env('MARIADB_USERNAME', 'root'),
+ 'password' => env('MARIADB_PASSWORD', ''),
+ 'unix_socket' => env('DB_SOCKET', ''),
+ 'charset' => env('DB_CHARSET', 'utf8mb4'),
+ 'collation' => env('DB_COLLATION', 'utf8mb4_unicode_ci'),
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ 'strict' => true,
+ 'engine' => null,
+ 'options' => extension_loaded('pdo_mysql') ? array_filter([
+ Pdo\Mysql::ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
+ ]) : [],
],
'pgsql' => [
'driver' => 'pgsql',
+ 'url' => env('DB_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5432'),
- 'database' => env('DB_DATABASE', 'forge'),
- 'username' => env('DB_USERNAME', 'forge'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', ''),
- 'charset' => 'utf8',
+ 'charset' => env('DB_CHARSET', 'utf8'),
'prefix' => '',
- 'schema' => 'public',
+ 'prefix_indexes' => true,
+ 'search_path' => 'public',
'sslmode' => 'prefer',
],
+ 'sqlsrv' => [
+ 'driver' => 'sqlsrv',
+ 'url' => env('DB_URL'),
+ 'host' => env('DB_HOST', 'localhost'),
+ 'port' => env('DB_PORT', '1433'),
+ 'database' => env('DB_DATABASE', 'laravel'),
+ 'username' => env('DB_USERNAME', 'root'),
+ 'password' => env('DB_PASSWORD', ''),
+ 'charset' => env('DB_CHARSET', 'utf8'),
+ 'prefix' => '',
+ 'prefix_indexes' => true,
+ // 'encrypt' => env('DB_ENCRYPT', 'yes'),
+ // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'),
+ ],
+
],
/*
@@ -101,11 +122,14 @@
|
| This table keeps track of all the migrations that have already run for
| your application. Using this information, we can determine which of
- | the migrations on disk haven't actually been run in the database.
+ | the migrations on disk haven't actually been run on the database.
|
*/
- 'migrations' => 'migrations',
+ 'migrations' => [
+ 'table' => 'migrations',
+ 'update_date_on_publish' => true,
+ ],
/*
|--------------------------------------------------------------------------
@@ -113,20 +137,45 @@
|--------------------------------------------------------------------------
|
| Redis is an open source, fast, and advanced key-value store that also
- | provides a richer set of commands than a typical key-value systems
- | such as APC or Memcached. Laravel makes it easy to dig right in.
+ | provides a richer body of commands than a typical key-value system
+ | such as Memcached. You may define your connection settings here.
|
*/
'redis' => [
- 'cluster' => false,
+ 'client' => env('REDIS_CLIENT', 'phpredis'),
+
+ 'options' => [
+ 'cluster' => env('REDIS_CLUSTER', 'redis'),
+ 'prefix' => env('REDIS_PREFIX', Str::slug((string) env('APP_NAME', 'laravel')).'-database-'),
+ 'persistent' => env('REDIS_PERSISTENT', false),
+ ],
'default' => [
+ 'url' => env('REDIS_URL'),
+ 'host' => env('REDIS_HOST', '127.0.0.1'),
+ 'username' => env('REDIS_USERNAME'),
+ 'password' => env('REDIS_PASSWORD'),
+ 'port' => env('REDIS_PORT', '6379'),
+ 'database' => env('REDIS_DB', '0'),
+ 'max_retries' => env('REDIS_MAX_RETRIES', 3),
+ 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'),
+ 'backoff_base' => env('REDIS_BACKOFF_BASE', 100),
+ 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000),
+ ],
+
+ 'cache' => [
+ 'url' => env('REDIS_URL'),
'host' => env('REDIS_HOST', '127.0.0.1'),
- 'password' => env('REDIS_PASSWORD', ''),
- 'port' => env('REDIS_PORT', 6379),
- 'database' => 0,
+ 'username' => env('REDIS_USERNAME'),
+ 'password' => env('REDIS_PASSWORD'),
+ 'port' => env('REDIS_PORT', '6379'),
+ 'database' => env('REDIS_CACHE_DB', '1'),
+ 'max_retries' => env('REDIS_MAX_RETRIES', 3),
+ 'backoff_algorithm' => env('REDIS_BACKOFF_ALGORITHM', 'decorrelated_jitter'),
+ 'backoff_base' => env('REDIS_BACKOFF_BASE', 100),
+ 'backoff_cap' => env('REDIS_BACKOFF_CAP', 1000),
],
],
diff --git a/config/filesystems.php b/config/filesystems.php
index 2cd0c2402..4708b7900 100644
--- a/config/filesystems.php
+++ b/config/filesystems.php
@@ -9,35 +9,22 @@
|
| Here you may specify the default filesystem disk that should be used
| by the framework. The "local" disk, as well as a variety of cloud
- | based disks are available to your application. Just store away!
+ | based disks are available to your application for file storage.
|
*/
- 'default' => 'local',
-
- /*
- |--------------------------------------------------------------------------
- | Default Cloud Filesystem Disk
- |--------------------------------------------------------------------------
- |
- | Many applications store files both locally and in the cloud. For this
- | reason, you may specify a default "cloud" driver here. This driver
- | will be bound as the Cloud disk implementation in the container.
- |
- */
-
- 'cloud' => 's3',
+ 'default' => env('FILESYSTEM_DISK', 'local'),
/*
|--------------------------------------------------------------------------
| Filesystem Disks
|--------------------------------------------------------------------------
|
- | Here you may configure as many filesystem "disks" as you wish, and you
- | may even configure multiple disks of the same driver. Defaults have
- | been setup for each driver as an example of the required options.
+ | Below you may configure as many filesystem disks as necessary, and you
+ | may even configure multiple disks for the same driver. Examples for
+ | most supported storage drivers are configured here for reference.
|
- | Supported Drivers: "local", "ftp", "s3", "rackspace"
+ | Supported drivers: "local", "ftp", "sftp", "s3"
|
*/
@@ -45,13 +32,32 @@
'local' => [
'driver' => 'local',
- 'root' => storage_path('app'),
+ 'root' => storage_path('app/private'),
+ 'serve' => true,
+ 'throw' => false,
+ 'report' => false,
],
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
+ 'url' => env('APP_URL').'/storage',
'visibility' => 'public',
+ 'throw' => false,
+ 'report' => false,
+ ],
+
+ 's3' => [
+ 'driver' => 's3',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'region' => env('AWS_DEFAULT_REGION'),
+ 'bucket' => env('AWS_BUCKET'),
+ 'url' => env('AWS_URL'),
+ 'endpoint' => env('AWS_ENDPOINT'),
+ 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
+ 'throw' => false,
+ 'report' => false,
],
'comm_links' => [
@@ -79,15 +85,31 @@
'root' => storage_path('app/api/vehicles'),
],
- 'stats' => [
+ 'scunpacked' => [
'driver' => 'local',
- 'root' => storage_path('app/api/stats'),
+ 'root' => storage_path('app/api/scunpacked-data'),
+ 'throw' => false,
],
- 'transcripts' => [
+ 'stats' => [
'driver' => 'local',
- 'root' => env('TRANSCRIPTS_PATH', null),
+ 'root' => storage_path('app/api/stats'),
],
],
+ /*
+ |--------------------------------------------------------------------------
+ | Symbolic Links
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure the symbolic links that will be created when the
+ | `storage:link` Artisan command is executed. The array keys should be
+ | the locations of the links and the values should be their targets.
+ |
+ */
+
+ 'links' => [
+ public_path('storage') => storage_path('app/public'),
+ ],
+
];
diff --git a/config/fortify.php b/config/fortify.php
new file mode 100644
index 000000000..10b12c275
--- /dev/null
+++ b/config/fortify.php
@@ -0,0 +1,161 @@
+ 'web',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Fortify Password Broker
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify which password broker Fortify can use when a user
+ | is resetting their password. This configured value should match one
+ | of your password brokers setup in your "auth" configuration file.
+ |
+ */
+
+ 'passwords' => 'users',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Username / Email
+ |--------------------------------------------------------------------------
+ |
+ | This value defines which model attribute should be considered as your
+ | application's "username" field. Typically, this might be the email
+ | address of the users but you are free to change this value here.
+ |
+ | Out of the box, Fortify expects forgot password and reset password
+ | requests to have a field named 'email'. If the application uses
+ | another name for the field you may define it below as needed.
+ |
+ */
+
+ 'username' => 'email',
+
+ 'email' => 'email',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Lowercase Usernames
+ |--------------------------------------------------------------------------
+ |
+ | This value defines whether usernames should be lowercased before saving
+ | them in the database, as some database system string fields are case
+ | sensitive. You may disable this for your application if necessary.
+ |
+ */
+
+ 'lowercase_usernames' => true,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Home Path
+ |--------------------------------------------------------------------------
+ |
+ | Here you may configure the path where users will get redirected during
+ | authentication or password reset when the operations are successful
+ | and the user is authenticated. You are free to change this value.
+ |
+ */
+
+ 'home' => '/',
+
+ /*
+ |--------------------------------------------------------------------------
+ | Fortify Routes Prefix / Subdomain
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify which prefix Fortify will assign to all the routes
+ | that it registers with the application. If necessary, you may change
+ | subdomain under which all of the Fortify routes will be available.
+ |
+ */
+
+ 'prefix' => '',
+
+ 'domain' => null,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Fortify Routes Middleware
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify which middleware Fortify will assign to the routes
+ | that it registers with the application. If necessary, you may change
+ | these middleware but typically this provided default is preferred.
+ |
+ */
+
+ 'middleware' => ['web'],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Rate Limiting
+ |--------------------------------------------------------------------------
+ |
+ | By default, Fortify will throttle logins to five requests per minute for
+ | every email and IP address combination. However, if you would like to
+ | specify a custom rate limiter to call then you may specify it here.
+ |
+ */
+
+ 'limiters' => [
+ 'login' => 'login',
+ 'two-factor' => 'two-factor',
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Register View Routes
+ |--------------------------------------------------------------------------
+ |
+ | Here you may specify if the routes returning views should be disabled as
+ | you may not need them when building your own application. This may be
+ | especially true if you're writing a custom single-page application.
+ |
+ */
+
+ 'views' => true,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Features
+ |--------------------------------------------------------------------------
+ |
+ | Some of the Fortify features are optional. You may disable the features
+ | by removing them from this array. You're free to only remove some of
+ | these features or you can even remove all of these if you need to.
+ |
+ */
+
+ 'features' => array_filter([
+ $registrationEnabled ? Features::registration() : null,
+ Features::resetPasswords(),
+ // Features::emailVerification(),
+ Features::updateProfileInformation(),
+ Features::updatePasswords(),
+ Features::twoFactorAuthentication([
+ 'confirm' => true,
+ 'confirmPassword' => true,
+ // 'window' => 0,
+ ]),
+ ]),
+
+];
diff --git a/config/game.php b/config/game.php
new file mode 100644
index 000000000..12c6fcf06
--- /dev/null
+++ b/config/game.php
@@ -0,0 +1,27 @@
+ [
+ 'Aegis Retaliator' => 'Retaliator Bomber',
+ 'Anvil C8R Pisces Rescue' => 'C8R Pisces',
+ 'Anvil F7C-M Hornet Heartseeker' => 'F7C-M Super Hornet Heartseeker',
+ 'Origin 600i' => '600i Explorer',
+ 'C.O. Mustang CitizenCon 2948 Edition' => 'Mustang Alpha Vindicator',
+ 'Crusader A2 Hercules Starlifter' => 'A2 Hercules',
+ 'Crusader C2 Hercules Starlifter' => 'C2 Hercules',
+ 'Crusader M2 Hercules Starlifter' => 'M2 Hercules',
+ 'Crusader Mercury Star Runner' => 'Mercury',
+ 'Crusader Ares Star Fighter Ion' => 'Ares Ion',
+ 'Crusader Ares Star Fighter Inferno' => 'Ares Inferno',
+ 'Drake Dragonfly' => 'Dragonfly Black',
+ 'Kruger P-72 Archimedes' => 'P-72 Archimedes',
+ 'Origin M50 Interceptor' => 'M50',
+ 'Origin 85X Limited' => '85X',
+
+ // Hornet Heartseeker variants (missing "Super" in game data)
+ 'Anvil F7C-M Hornet Heartseeker Mk I' => 'F7C-M Super Hornet Heartseeker Mk I',
+ 'Anvil F7C-M Hornet Heartseeker Mk II' => 'F7C-M Super Hornet Heartseeker Mk II',
+ 'F7C-M Hornet Heartseeker Mk I' => 'F7C-M Super Hornet Heartseeker Mk I',
+ 'F7C-M Hornet Heartseeker Mk II' => 'F7C-M Super Hornet Heartseeker Mk II',
+ ],
+];
diff --git a/config/hashing.php b/config/hashing.php
deleted file mode 100644
index f929cf0c3..000000000
--- a/config/hashing.php
+++ /dev/null
@@ -1,20 +0,0 @@
- 'bcrypt',
-
-];
diff --git a/config/item_sets.php b/config/item_sets.php
deleted file mode 100644
index a70c0badd..000000000
--- a/config/item_sets.php
+++ /dev/null
@@ -1,13 +0,0 @@
- [
- 'helmet',
- 'core',
- 'arms',
- 'legs',
- ],
-];
diff --git a/config/items.php b/config/items.php
new file mode 100644
index 000000000..bff1ac560
--- /dev/null
+++ b/config/items.php
@@ -0,0 +1,3316 @@
+ 'money',
+ 'formatterParams' => [
+ 'symbol' => ($space ? ' ' : '').$symbol,
+ 'precision' => $precision,
+ 'symbolAfter' => true,
+ ],
+ ];
+ }
+}
+
+if (! function_exists('numFormat')) {
+ function numFormat(): array
+ {
+ return [
+ 'formatter' => 'money',
+ 'formatterParams' => [
+ 'precision' => false,
+ ],
+ ];
+ }
+}
+
+return [
+ /*
+ |--------------------------------------------------------------------------
+ | Shared Column Groups
+ |--------------------------------------------------------------------------
+ |
+ | Define reusable column groups here that can be referenced across
+ | multiple item types. These groups support nested columns and all
+ | standard column configuration options.
+ |
+ | Usage in type_overrides:
+ | 'shared' => ['groupName'],
+ | 'shared_overrides' => [
+ | 'groupName' => ['title' => 'Custom Title'],
+ | ],
+ |
+ */
+ 'shared_groups' => [
+ 'resourceNetwork.power_usage' => [
+ 'title' => 'Power Usage',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'resource_network.usage.power.minimum',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'resource_network.usage.power.maximum',
+ ],
+ ],
+ ],
+ 'resourceNetwork.cooling_usage' => [
+ 'title' => 'Cooling Usage',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'resource_network.usage.coolant.minimum',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'resource_network.usage.coolant.maximum',
+ ],
+ ],
+ ],
+ 'resourceNetwork.repair' => [
+ 'title' => 'Repair',
+ 'columns' => [
+ [
+ 'title' => 'Count',
+ 'field' => 'resource_network.repair.max_repair_count',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Time',
+ 'field' => 'resource_network.repair.time_to_repair',
+ ...suffix('s', space: false),
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Health Ratio',
+ 'field' => 'resource_network.repair.health_ratio',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ 'resourceNetwork.emission' => [
+ 'title' => 'Signature',
+ 'columns' => [
+ [
+ 'title' => 'EM',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'emission.em_min',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'emission.em_max',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Decay',
+ 'field' => 'emission.em_decay',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'IR Start',
+ 'field' => 'emission.ir',
+ ...numFormat(),
+ ],
+ ],
+ ],
+
+ 'durability' => [
+ 'title' => 'Durability',
+ 'columns' => [
+ [
+ 'title' => 'Health',
+ 'field' => 'durability.health',
+ ...suffix('HP'),
+ ],
+ [
+ 'title' => 'Shutdown Dmg',
+ 'field' => 'distortion.maximum',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Shutdown Time',
+ 'field' => 'distortion.shutdown_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Decay Rate',
+ 'field' => 'distortion.decay_rate',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Decay Delay',
+ 'field' => 'distortion.decay_delay',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Resistance Multiplier',
+ 'columns' => [
+ [
+ 'title' => 'Physical',
+ 'field' => 'durability.resistance.physical',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'durability.resistance.energy',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'durability.resistance.distortion',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Thermal',
+ 'field' => 'durability.resistance.thermal',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Biochemical',
+ 'field' => 'durability.resistance.biochemical',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Stun',
+ 'field' => 'durability.resistance.stun',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'temperature' => [
+ 'title' => 'Temperature °C',
+ 'columns' => [
+ [
+ 'title' => 'Cooling Threshold',
+ 'field' => 'temperature.cooling_threshold',
+ ...suffix('°C'),
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'IR Threshold',
+ 'field' => 'temperature.ir_threshold',
+ ...suffix('°C'),
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Overheat',
+ 'field' => 'temperature.overheat_temperature',
+ ...suffix('°C'),
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'temperature.max_temperature',
+ ...suffix('°C'),
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Recovery',
+ 'field' => 'temperature.recovery_temperature',
+ ...suffix('°C'),
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ 'occupancy' => [
+ 'title' => 'Occupancy',
+ 'columns' => [
+ [
+ 'title' => 'Mass',
+ 'field' => 'mass',
+ ...suffix('kg'),
+ ],
+ [
+ 'title' => 'Weight',
+ 'field' => 'dimension.volume_converted',
+ 'formatter' => 'volumeWithUnit',
+ 'formatterParams' => [
+ 'unitField' => 'dimension.volume_converted_unit',
+ ],
+ ],
+ ],
+ ],
+ 'inventory' => [
+ 'title' => 'Inventory',
+ 'field' => 'inventory.scu_converted',
+ 'formatter' => 'volumeWithUnit',
+ 'formatterParams' => [
+ 'unitField' => 'inventory.unit',
+ ],
+ ],
+ ],
+
+ 'title' => [
+ 'default' => 'Items',
+ 'formatter' => '%s Items',
+ ],
+ 'table' => [
+ 'columns' => [
+ [
+ 'title' => 'Name',
+ 'field' => 'name',
+ 'headerSort' => true,
+ 'headerFilter' => 'input',
+ 'minWidth' => 220,
+ 'frozen' => true,
+ 'formatter' => 'link',
+ 'formatterParams' => [
+ 'labelField' => 'name',
+ 'target' => 'blank',
+ 'urlField' => 'web_url',
+ ],
+ ],
+ [
+ 'title' => 'Size',
+ 'field' => 'size',
+ 'sorter' => 'number',
+ 'headerSort' => true,
+ 'headerFilter' => 'list',
+ 'hozAlign' => 'right',
+ 'width' => 110,
+ 'frozen' => true,
+ ],
+ [
+ 'title' => 'Class Name',
+ 'field' => 'class_name',
+ 'headerSort' => true,
+ 'headerFilter' => 'input',
+ 'minWidth' => 220,
+ ],
+ [
+ 'title' => 'Manufacturer',
+ 'field' => 'manufacturer.name',
+ 'headerSort' => true,
+ 'headerFilter' => 'list',
+ 'minWidth' => 200,
+ ],
+ [
+ 'title' => 'Type',
+ 'field' => 'type',
+ 'headerSort' => true,
+ 'headerFilter' => 'list',
+ 'minWidth' => 200,
+ 'formatter' => 'link',
+ 'formatterParams' => [
+ 'labelField' => 'type',
+ 'urlField' => 'type_web_url',
+ ],
+ ],
+ [
+ 'title' => 'Sub Type',
+ 'field' => 'sub_type',
+ 'headerSort' => true,
+ 'headerFilter' => 'list',
+ 'minWidth' => 200,
+ ],
+ [
+ 'title' => 'Classification',
+ 'field' => 'classification',
+ 'headerSort' => true,
+ 'headerFilter' => 'list',
+ 'minWidth' => 220,
+ ],
+ [
+ 'title' => 'Grade',
+ 'field' => 'grade',
+ 'headerSort' => true,
+ 'headerFilter' => 'list',
+ 'minWidth' => 120,
+ ],
+ [
+ 'title' => 'Class',
+ 'field' => 'class',
+ 'headerSort' => true,
+ 'headerFilter' => 'list',
+ 'minWidth' => 140,
+ ],
+ [
+ 'title' => 'API Url',
+ 'field' => 'uuid',
+ 'formatter' => 'link',
+ 'formatterParams' => [
+ 'label' => 'View',
+ 'target' => 'blank',
+ 'urlField' => 'link',
+ ],
+ 'headerSort' => false,
+ 'hozAlign' => 'right',
+ 'width' => 100,
+ ],
+ ],
+ 'header_filter_options_map' => [
+ 'manufacturer.name' => 'manufacturer',
+ 'type' => 'type',
+ 'sub_type' => 'sub_type',
+ 'classification' => 'classification',
+ 'size' => 'size',
+ 'grade' => 'grade',
+ 'class' => 'class',
+ ],
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Type-Specific Overrides
+ |--------------------------------------------------------------------------
+ |
+ | Customize table configuration for specific item types. Available options:
+ |
+ | - 'title': Custom page title
+ | - 'shared': Array of shared group keys to include
+ | - 'shared_insert_at': Position to insert shared groups (optional)
+ | * Positive: Insert at index (0-based)
+ | * Negative: Count from end (-1 = before last column)
+ | * Null/Omitted: Append at end (default)
+ | - 'shared_overrides': Customize shared groups (e.g., change title)
+ | - 'add_columns': Array of additional columns
+ | - 'add_columns_insert_at': Position to insert additional columns (optional)
+ | * Same position rules as shared_insert_at
+ | - 'remove_fields': Array of field names to remove
+ | - 'header_filter_options_map': Add/override filter mappings
+ |
+ | Note: View button column automatically stays at end regardless of insertions.
+ |
+ */
+ 'type_overrides' => [
+ 'Armor' => [
+ 'title' => 'Vehicle Armor',
+ 'remove_fields' => ['classification', 'grade', 'class'],
+ 'shared' => ['durability', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Signals',
+ 'columns' => [
+ [
+ 'title' => 'Cross Section',
+ 'field' => 'armor.signal_multiplier.cross_section_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Infrared',
+ 'field' => 'armor.signal_multiplier.infrared_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Electromagnetic',
+ 'field' => 'armor.signal_multiplier.electromagnetic_change',
+ 'formatter' => 'pctDelta',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Damage',
+ 'columns' => [
+ [
+ 'title' => 'Physical',
+ 'field' => 'armor.damage_multiplier.physical_change',
+ 'formatter' => 'pctDelta',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'armor.damage_multiplier.energy_change',
+ 'formatter' => 'pctDelta',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'armor.damage_multiplier.distortion_change',
+ 'formatter' => 'pctDelta',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Thermal',
+ 'field' => 'armor.damage_multiplier.thermal_change',
+ 'formatter' => 'pctDelta',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Penetration Resistance',
+ 'columns' => [
+ [
+ 'title' => 'Base',
+ 'field' => 'armor.penetration_resistance.base',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Physical',
+ 'field' => 'armor.penetration_resistance.physical',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'armor.penetration_resistance.energy',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'armor.penetration_resistance.distortion',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Thermal',
+ 'field' => 'armor.penetration_resistance.thermal',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Stun',
+ 'field' => 'armor.penetration_resistance.stun',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Bomb' => [
+ 'title' => 'Bombs',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['durability', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Damages',
+ 'columns' => [
+ [
+ 'title' => 'Total',
+ 'field' => 'bomb.damage_total',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Physical',
+ 'field' => 'bomb.damage_map.physical',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'bomb.damage_map.energy',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'bomb.damage_map.distortion',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Thermal',
+ 'field' => 'bomb.damage_map.thermal',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Explosion',
+ 'columns' => [
+ [
+ 'title' => 'Radius',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'bomb.explosion.radius_min',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'bomb.explosion.radius_max',
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Safety Distance',
+ 'field' => 'bomb.explosion.safety_distance',
+ 'headerSort' => false,
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Proximity',
+ 'field' => 'bomb.explosion.proximity',
+ 'headerSort' => false,
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Delays',
+ 'columns' => [
+ [
+ 'title' => 'Arm',
+ 'field' => 'bomb.delays.arm_time',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Ignite',
+ 'field' => 'bomb.delays.ignite_time',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Collision Delay',
+ 'field' => 'bomb.delays.collision_delay_time',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Cooler' => [
+ 'title' => 'Coolers',
+ 'remove_fields' => ['sub_type', 'classification'],
+ 'shared' => ['resourceNetwork.emission', 'resourceNetwork.power_usage', 'durability', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Coolant Generation',
+ 'field' => 'resource_network.generation.coolant',
+ ],
+ ],
+ ],
+ 'EMP' => [
+ 'title' => 'EMP',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['durability', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Damage',
+ 'field' => 'emp.distortion_damage',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Radius',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'emp.min_emp_radius',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'emp.emp_radius',
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Delays',
+ 'columns' => [
+ [
+ 'title' => 'Charge',
+ 'field' => 'emp.charge_duration',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Unleash',
+ 'field' => 'emp.unleash_duration',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Cooldown',
+ 'field' => 'emp.cooldown_duration',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'FlightController' => [
+ 'title' => 'Flight Blades',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['resourceNetwork.power_usage', 'resourceNetwork.cooling_usage', 'resourceNetwork.repair'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Speed',
+ 'columns' => [
+ [
+ 'title' => 'SCM',
+ 'field' => 'flight_controller.scm_speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'NAV',
+ 'field' => 'flight_controller.max_speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Boost Forward',
+ 'field' => 'flight_controller.boost_speed_forward',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Boost Backward',
+ 'field' => 'flight_controller.boost_speed_backward',
+ ...suffix('m/s'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Rotation',
+ 'columns' => [
+ [
+ 'title' => 'Pitch',
+ 'field' => 'flight_controller.pitch',
+ ...suffix('º/s'),
+ ],
+ [
+ 'title' => 'Yaw',
+ 'field' => 'flight_controller.yaw',
+ ...suffix('º/s'),
+ ],
+ [
+ 'title' => 'Roll',
+ 'field' => 'flight_controller.roll',
+ ...suffix('º/s'),
+ ],
+ [
+ 'title' => 'Pitch (Boosted)',
+ 'field' => 'flight_controller.pitch_boosted',
+ ...suffix('º/s'),
+ ],
+ [
+ 'title' => 'Yaw (Boosted)',
+ 'field' => 'flight_controller.yaw_boosted',
+ ...suffix('º/s'),
+ ],
+ [
+ 'title' => 'Roll (Boosted)',
+ 'field' => 'flight_controller.roll_boosted',
+ ...suffix('º/s'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Thruster Decay',
+ 'columns' => [
+ [
+ 'title' => 'Linear',
+ 'field' => 'flight_controller.thruster_decay.linear_accel',
+ ],
+ [
+ 'title' => 'Angular',
+ 'field' => 'flight_controller.thruster_decay.angular_accel',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Multiplier',
+ 'columns' => [
+ [
+ 'title' => 'Lift',
+ 'field' => 'flight_controller.multiplier.lift',
+ ],
+ [
+ 'title' => 'Drag',
+ 'field' => 'flight_controller.multiplier.drag',
+ ],
+ [
+ 'title' => 'SCM Drag',
+ 'field' => 'flight_controller.multiplier.scm_max_drag',
+ ],
+ [
+ 'title' => 'Torque Imbalance',
+ 'field' => 'flight_controller.multiplier.torque_imbalance',
+ ],
+ [
+ 'title' => 'Precision Landing',
+ 'field' => 'flight_controller.multiplier.precision_landing',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Boost',
+ 'columns' => [
+ [
+ 'title' => 'Segments',
+ 'field' => 'flight_controller.boost_segments',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Boost Activation',
+ 'columns' => [
+ [
+ 'title' => 'Pre-Delay',
+ 'field' => 'flight_controller.boost_activation.pre_delay_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Ramp-Up',
+ 'field' => 'flight_controller.boost_activation.ramp_up_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Ramp-Down',
+ 'field' => 'flight_controller.boost_activation.ramp_down_time',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Boost Multiplier',
+ 'columns' => [
+ [
+ 'title' => 'X',
+ 'columns' => [
+ [
+ 'title' => '+',
+ 'field' => 'flight_controller.boost_multiplier.accel_x.positive',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => '-',
+ 'field' => 'flight_controller.boost_multiplier.accel_x.negative',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Y',
+ 'columns' => [
+ [
+ 'title' => '+',
+ 'field' => 'flight_controller.boost_multiplier.accel_y.positive',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => '-',
+ 'field' => 'flight_controller.boost_multiplier.accel_y.negative',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Z',
+ 'columns' => [
+ [
+ 'title' => '+',
+ 'field' => 'flight_controller.boost_multiplier.accel_z.positive',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => '-',
+ 'field' => 'flight_controller.boost_multiplier.accel_z.negative',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Pitch',
+ 'field' => 'flight_controller.boost_multiplier.pitch',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Yaw',
+ 'field' => 'flight_controller.boost_multiplier.yaw',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Roll',
+ 'field' => 'flight_controller.boost_multiplier.roll',
+ 'headerSort' => false,
+ ],
+
+ [
+ 'title' => 'Pitch Accel.',
+ 'field' => 'flight_controller.boost_multiplier.pitch_accel',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Yaw Accel.',
+ 'field' => 'flight_controller.boost_multiplier.yaw_accel',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Roll Accel.',
+ 'field' => 'flight_controller.boost_multiplier.roll_accel',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Boost Capacitor',
+ 'columns' => [
+ [
+ 'title' => 'Capacity',
+ 'field' => 'flight_controller.boost_capacitor.capacity',
+ ],
+ [
+ 'title' => 'Threshold Ratio',
+ 'field' => 'flight_controller.boost_capacitor.threshold_ratio',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Idle Cost',
+ 'field' => 'flight_controller.boost_capacitor.idle_cost',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Linear Cost',
+ 'field' => 'flight_controller.boost_capacitor.linear_cost',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Angular Cost',
+ 'field' => 'flight_controller.boost_capacitor.angular_cost',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Regen Delay',
+ 'field' => 'flight_controller.boost_capacitor.regen_delay',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Regen per Sec',
+ 'field' => 'flight_controller.boost_capacitor.regen_per_sec',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Regen Time',
+ 'field' => 'flight_controller.boost_capacitor.regen_time',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Hover',
+ 'columns' => [
+ [
+ 'title' => 'Max Speed',
+ 'field' => 'flight_controller.gravlev.max_speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Turn Friction',
+ 'field' => 'flight_controller.gravlev.turn_friction',
+ ],
+ [
+ 'title' => 'Air Controller Multiplier',
+ 'field' => 'flight_controller.gravlev.air_controller_multiplier',
+ ],
+ [
+ 'title' => 'Anti-Fall Multiplier',
+ 'field' => 'flight_controller.gravlev.anti_fall_multiplier',
+ ],
+ [
+ 'title' => 'Lateral Strafe Multiplier',
+ 'field' => 'flight_controller.gravlev.lateral_strafe_multiplier',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'JumpDrive' => [
+ 'title' => 'Jump Drives',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['durability', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Alignment Rate',
+ 'field' => 'jump_drive.alignment_rate',
+ ],
+ [
+ 'title' => 'Alignment Decay Rate',
+ 'field' => 'jump_drive.alignment_decay_rate',
+ ],
+ [
+ 'title' => 'Tuning Rate',
+ 'field' => 'jump_drive.tuning_rate',
+ ],
+ [
+ 'title' => 'Tuning Decay Rate',
+ 'field' => 'jump_drive.tuning_decay_rate',
+ ],
+ [
+ 'title' => 'Fuel Usage Efficiency Multiplier',
+ 'field' => 'jump_drive.fuel_usage_efficiency_multiplier',
+ ],
+ ],
+ ],
+ 'Missile' => [
+ 'title' => 'Missiles & Torpedoes',
+ 'remove_fields' => ['classification', 'grade', 'class'],
+ 'shared' => ['occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Tracking',
+ 'columns' => [
+ [
+ 'title' => 'Signal',
+ 'field' => 'missile.signal_type',
+ ],
+ [
+ 'title' => 'Min',
+ 'field' => 'missile.tracking_signal_min',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Damages',
+ 'columns' => [
+ [
+ 'title' => 'Total',
+ 'field' => 'missile.damage_total',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Physical',
+ 'field' => 'missile.damage_map.physical',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'missile.damage_map.energy',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'missile.damage_map.distortion',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Thermal',
+ 'field' => 'missile.damage_map.thermal',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Explosion',
+ 'columns' => [
+ [
+ 'title' => 'Radius',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'missile.explosion.radius_min',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'missile.explosion.radius_max',
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Safety Distance',
+ 'field' => 'missile.explosion.safety_distance',
+ 'headerSort' => false,
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Proximity',
+ 'field' => 'missile.explosion.proximity',
+ 'headerSort' => false,
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Delays',
+ 'columns' => [
+ [
+ 'title' => 'Arm',
+ 'field' => 'missile.delays.arm_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Lock',
+ 'field' => 'missile.delays.lock_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Ignite',
+ 'field' => 'missile.delays.ignite_time',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Collision Delay',
+ 'field' => 'missile.delays.collision_delay_time',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Target Lock',
+ 'columns' => [
+ [
+ 'title' => 'Acquisition',
+ 'field' => 'missile.target_lock.signal_resilience_max',
+ ],
+ [
+ 'title' => 'Range',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'missile.target_lock.range_min',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'missile.target_lock.range_max',
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Angle',
+ 'field' => 'missile.target_lock.angle',
+ 'headerSort' => false,
+ ...suffix('°', space: false),
+ ],
+ [
+ 'title' => 'Fire Without Lock',
+ 'field' => 'missile.target_lock.allow_dumb_firing',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Flight Characteristics',
+ 'columns' => [
+ [
+ 'title' => 'Speed',
+ 'field' => 'missile.flight.speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Range',
+ 'field' => 'missile.flight.range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max Lifetime',
+ 'field' => 'missile.flight.max_lifetime',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Boost Duration',
+ 'field' => 'missile.flight.boost_phase_duration',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Terminal Phase Time',
+ 'field' => 'missile.flight.terminal_phase_engagement_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Terminal Phase Angle',
+ 'field' => 'missile.flight.terminal_phase_engagement_angle',
+ ...suffix('°', space: false),
+ ],
+ [
+ 'title' => 'Boost Speed',
+ 'field' => 'missile.flight.boost_speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Intercept Speed',
+ 'field' => 'missile.flight.intercept_speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Terminal Speed',
+ 'field' => 'missile.flight.terminal_speed',
+ ...suffix('m/s'),
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'MissileLauncher' => [
+ 'title' => 'Missile Racks',
+ 'remove_fields' => ['classification', 'grade', 'class'],
+ 'shared' => ['resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Capacity',
+ 'field' => 'missile_rack.missile_count',
+ ],
+ [
+ 'title' => 'Size',
+ 'field' => 'missile_rack.missile_size',
+ ],
+ ],
+ ],
+ 'Paints' => [
+ 'title' => 'Vehicle Paints',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Description',
+ 'field' => 'description.en_EN',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ 'PowerPlant' => [
+ 'title' => 'Power Plants',
+ 'remove_fields' => ['sub_type', 'classification'],
+ 'shared' => ['resourceNetwork.cooling_usage', 'durability', 'temperature', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Power Generation',
+ 'field' => 'resource_network.generation.power',
+ ],
+ [
+ 'title' => 'Signature',
+ 'columns' => [
+ [
+ 'title' => 'EM',
+ 'columns' => [
+ [
+ 'title' => 'Per Segment',
+ 'field' => 'emission.em_per_segment',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'emission.em_max',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Decay',
+ 'field' => 'emission.em_decay',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'IR Start',
+ 'field' => 'emission.ir',
+ 'headerSort' => false,
+ ...numFormat(),
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'QuantumDrive' => [
+ 'title' => 'Quantum Drives',
+ 'remove_fields' => ['sub_type', 'classification'],
+ 'shared' => ['resourceNetwork.emission', 'resourceNetwork.power_usage', 'resourceNetwork.cooling_usage', 'durability', 'temperature', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Travel',
+ 'columns' => [
+ [
+ 'title' => 'SCU per GM',
+ 'field' => 'quantum_drive.fuel_consumption_scu_per_gm',
+ ],
+ [
+ 'title' => 'Efficiency',
+ 'field' => 'quantum_drive.fuel_efficiency',
+ ],
+ [
+ 'title' => 'Time per 10GM',
+ 'field' => 'quantum_drive.travel_time_10gm.formatted',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Delays',
+ 'columns' => [
+ [
+ 'title' => 'Spool-Up',
+ 'field' => 'quantum_drive.standard_jump.spool_up_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Cooldown',
+ 'field' => 'quantum_drive.standard_jump.cooldown_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Interdiction',
+ 'field' => 'quantum_drive.standard_jump.interdiction_effect_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Calibration',
+ 'field' => 'quantum_drive.standard_jump.calibration_delay_in_seconds',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Speed',
+ 'columns' => [
+ [
+ 'title' => 'Max',
+ 'field' => 'quantum_drive.standard_jump.drive_speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Stage 1 Accel.',
+ 'field' => 'quantum_drive.standard_jump.stage_one_accel_rate',
+ ...suffix('m/s/s'),
+ ],
+ [
+ 'title' => 'Stage 2 Accel.',
+ 'field' => 'quantum_drive.standard_jump.stage_two_accel_rate',
+ ...suffix('m/s/s'),
+ ],
+ [
+ 'title' => 'Spline',
+ 'field' => 'quantum_drive.spline_jump.drive_speed',
+ ...suffix('m/s'),
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'QuantumInterdictionGenerator' => [
+ 'title' => 'Quantum Interdiction Generators',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['resourceNetwork.emission', 'resourceNetwork.power_usage', 'resourceNetwork.cooling_usage'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Radius',
+ 'columns' => [
+ [
+ 'title' => 'Jamming',
+ 'field' => 'quantum_interdiction_generator.jammer_range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Interdiction',
+ 'field' => 'quantum_interdiction_generator.interdiction_range',
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Interdiction Delays',
+ 'columns' => [
+ [
+ 'title' => 'Charge',
+ 'field' => 'quantum_interdiction_generator.charge_duration',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Activation',
+ 'field' => 'quantum_interdiction_generator.activation_duration',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Disperse Charge',
+ 'field' => 'quantum_interdiction_generator.disperse_charge_duration',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Discharge',
+ 'field' => 'quantum_interdiction_generator.discharge_duration',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Cooldown',
+ 'field' => 'quantum_interdiction_generator.cooldown_duration',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+
+ ],
+ ],
+ 'Radar' => [
+ 'title' => 'Radar',
+ 'remove_fields' => ['classification'],
+ 'shared' => ['resourceNetwork.emission', 'resourceNetwork.power_usage', 'resourceNetwork.cooling_usage', 'durability', 'temperature', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Cooldown',
+ 'field' => 'cooldown',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Sensitivity',
+ 'columns' => [
+ [
+ 'title' => 'IR',
+ 'field' => 'radar.sensitivity.infrared',
+ ],
+ [
+ 'title' => 'CS',
+ 'field' => 'radar.sensitivity.cross_section',
+ ],
+ [
+ 'title' => 'EM',
+ 'field' => 'radar.sensitivity.electromagnetic',
+ ],
+ [
+ 'title' => 'RS',
+ 'field' => 'radar.sensitivity.resource',
+ ],
+ [
+ 'title' => 'dB',
+ 'field' => 'radar.sensitivity.db',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Ground Vehicle Sensitivity',
+ 'columns' => [
+ [
+ 'title' => 'IR',
+ 'field' => 'radar.ground_vehicle_sensitivity.infrared',
+ ],
+ [
+ 'title' => 'CS',
+ 'field' => 'radar.ground_vehicle_sensitivity.cross_section',
+ ],
+ [
+ 'title' => 'EM',
+ 'field' => 'radar.ground_vehicle_sensitivity.electromagnetic',
+ ],
+ [
+ 'title' => 'RS',
+ 'field' => 'radar.ground_vehicle_sensitivity.resource',
+ ],
+ [
+ 'title' => 'dB',
+ 'field' => 'radar.ground_vehicle_sensitivity.db',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Piercing',
+ 'columns' => [
+ [
+ 'title' => 'IR',
+ 'field' => 'radar.piercing.infrared',
+ ],
+ [
+ 'title' => 'CS',
+ 'field' => 'radar.piercing.cross_section',
+ ],
+ [
+ 'title' => 'EM',
+ 'field' => 'radar.piercing.electromagnetic',
+ ],
+ [
+ 'title' => 'RS',
+ 'field' => 'radar.piercing.resource',
+ ],
+ [
+ 'title' => 'dB',
+ 'field' => 'radar.piercing.db',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'SalvageModifier' => [
+ 'title' => 'Salvage Modules',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Salvage Speed',
+ 'field' => 'salvage_modifier.salvage_speed_multiplier',
+ ],
+ [
+ 'title' => 'Radius',
+ 'field' => 'salvage_modifier.radius_multiplier',
+ ],
+ [
+ 'title' => 'Extraction Efficiency',
+ 'field' => 'salvage_modifier.extraction_efficiency',
+ ],
+ ],
+ ],
+ 'SelfDestruct' => [
+ 'title' => 'Self Destructs',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Damage',
+ 'field' => 'self_destruct.damage',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Countdown',
+ 'field' => 'self_destruct.countdown',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Radius',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'self_destruct.min_radius',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'self_destruct.phys_radius',
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Shield' => [
+ 'title' => 'Shields',
+ 'remove_fields' => ['sub_type', 'classification'],
+ 'shared' => ['resourceNetwork.emission', 'resourceNetwork.power_usage', 'resourceNetwork.cooling_usage', 'durability', 'temperature', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Shield',
+ 'columns' => [
+ [
+ 'title' => 'Health',
+ 'field' => 'shield.max_health',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Regen Rate',
+ 'field' => 'shield.regen_rate',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Regen Time',
+ 'field' => 'shield.regen_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Damage Delay',
+ 'field' => 'shield.regen_delay.damage',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Downed Delay',
+ 'field' => 'shield.regen_delay.downed',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Reserve Pool',
+ 'columns' => [
+ [
+ 'title' => 'Regen Rate',
+ 'field' => 'shield.reserve_pool.regen_rate',
+ ...numFormat(),
+ ],
+ [
+ 'title' => 'Regen Time',
+ 'field' => 'shield.reserve_pool.regen_time',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Absorption',
+ 'columns' => [
+ [
+ 'title' => 'Physical',
+ 'columns' => [
+ [
+ 'title' => 'Max',
+ 'field' => 'shield.absorption.physical.max',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Min',
+ 'field' => 'shield.absorption.physical.min',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Energy',
+ 'columns' => [
+ [
+ 'title' => 'Max',
+ 'field' => 'shield.absorption.energy.max',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Min',
+ 'field' => 'shield.absorption.energy.min',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Distortion',
+ 'columns' => [
+ [
+ 'title' => 'Max',
+ 'field' => 'shield.absorption.distortion.max',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Min',
+ 'field' => 'shield.absorption.distortion.min',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ // [
+ // 'title' => 'Thermal',
+ // 'columns' => [
+ // [
+ // 'title' => 'Max',
+ // 'field' => 'shield.absorption.thermal.max',
+ // 'formatter' => 'pct',
+ // ],
+ // [
+ // 'title' => 'Min',
+ // 'field' => 'shield.absorption.thermal.min',
+ // 'formatter' => 'pct',
+ // ],
+ // ],
+ // ],
+ // [
+ // 'title' => 'Biochemical',
+ // 'columns' => [
+ // [
+ // 'title' => 'Max',
+ // 'field' => 'shield.absorption.biochemical.max',
+ // 'formatter' => 'pct',
+ // ],
+ // [
+ // 'title' => 'Min',
+ // 'field' => 'shield.absorption.biochemical.min',
+ // 'formatter' => 'pct',
+ // ],
+ // ],
+ // ],
+ // [
+ // 'title' => 'Stun',
+ // 'columns' => [
+ // [
+ // 'title' => 'Max',
+ // 'field' => 'shield.absorption.stun.max',
+ // 'formatter' => 'pct',
+ // ],
+ // [
+ // 'title' => 'Min',
+ // 'field' => 'shield.absorption.stun.min',
+ // 'formatter' => 'pct',
+ // ],
+ // ],
+ // ],
+ ],
+ ],
+ [
+ 'title' => 'Resistance',
+ 'columns' => [
+ [
+ 'title' => 'Physical',
+ 'columns' => [
+ [
+ 'title' => 'Max',
+ 'field' => 'shield.resistance.physical.max',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Min',
+ 'field' => 'shield.resistance.physical.min',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Energy',
+ 'columns' => [
+ [
+ 'title' => 'Max',
+ 'field' => 'shield.resistance.energy.max',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Min',
+ 'field' => 'shield.resistance.energy.min',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Distortion',
+ 'columns' => [
+ [
+ 'title' => 'Max',
+ 'field' => 'shield.resistance.distortion.max',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Min',
+ 'field' => 'shield.resistance.distortion.min',
+ 'formatter' => 'pct',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ // [
+ // 'title' => 'Thermal',
+ // 'columns' => [
+ // [
+ // 'title' => 'Max',
+ // 'field' => 'shield.resistance.thermal.max',
+ // 'formatter' => 'pct',
+ // ],
+ // [
+ // 'title' => 'Min',
+ // 'field' => 'shield.resistance.thermal.min',
+ // 'formatter' => 'pct',
+ // ],
+ // ],
+ // ],
+ // [
+ // 'title' => 'Biochemical',
+ // 'columns' => [
+ // [
+ // 'title' => 'Max',
+ // 'field' => 'shield.resistance.biochemical.max',
+ // 'formatter' => 'pct',
+ // ],
+ // [
+ // 'title' => 'Min',
+ // 'field' => 'shield.resistance.biochemical.min',
+ // 'formatter' => 'pct',
+ // ],
+ // ],
+ // ],
+ // [
+ // 'title' => 'Stun',
+ // 'columns' => [
+ // [
+ // 'title' => 'Max',
+ // 'field' => 'shield.resistance.stun.max',
+ // 'formatter' => 'pct',
+ // ],
+ // [
+ // 'title' => 'Min',
+ // 'field' => 'shield.resistance.stun.min',
+ // 'formatter' => 'pct',
+ // ],
+ // ],
+ // ],
+ ],
+ ],
+ ],
+ ],
+ 'ShieldController' => [
+ 'title' => 'Shield Controllers',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Face Type',
+ 'field' => 'shield_controller.face_type',
+ ],
+ [
+ 'title' => 'Max Reallocation',
+ 'field' => 'shield_controller.max_reallocation',
+ ],
+ [
+ 'title' => 'Reconfiguration Cooldown',
+ 'field' => 'shield_controller.reconfiguration_cooldown',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Max Electrical Charge Dmg Rate',
+ 'field' => 'shield_controller.max_electrical_charge_damage_rate',
+ ],
+ ],
+ ],
+ 'TractorBeam,TowingBeam' => [
+ 'title' => 'Tractor & Towing Beams',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['resourceNetwork.emission', 'resourceNetwork.power_usage', 'durability', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Tractor',
+ 'columns' => [
+ [
+ 'title' => 'Force',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'tractor_beam.force.min',
+ ...suffix('N'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'tractor_beam.force.max',
+ ...suffix('N'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Range',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'tractor_beam.range.min',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'tractor_beam.range.max',
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Full Strength',
+ 'field' => 'tractor_beam.range.full_strength_distance',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max Angle',
+ 'field' => 'tractor_beam.range.max_angle',
+ ...suffix('°'),
+ ],
+ [
+ 'title' => 'Max Volume',
+ 'field' => 'tractor_beam.force.max_volume',
+ ...suffix('m³'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Towing',
+ 'columns' => [
+ [
+ 'title' => 'Force',
+ 'field' => 'tractor_beam.towing.force',
+ ...suffix('N'),
+ ],
+ [
+ 'title' => 'Max Acceleration',
+ 'field' => 'tractor_beam.towing.max_acceleration',
+ ...suffix('m/s²'),
+ ],
+ [
+ 'title' => 'Max Distance',
+ 'field' => 'tractor_beam.towing.max_distance',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'QT Mass Limit',
+ 'field' => 'tractor_beam.towing.qt_mass_limit',
+ ...suffix('kg'),
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'Turret' => [
+ 'title' => 'Turrets & Gimbals',
+ 'remove_fields' => ['classification', 'grade', 'class'],
+ 'shared' => ['durability', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Mounts',
+ 'columns' => [
+ [
+ 'title' => 'Count',
+ 'field' => 'turret.mounts',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Size Min',
+ 'field' => 'turret.min_size',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Size Max',
+ 'field' => 'turret.max_size',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Yaw Axis',
+ 'columns' => [
+ // [
+ // 'title' => 'Slaved Only',
+ // 'field' => 'turret.yaw_axis.slaved_only',
+ // ],
+ [
+ 'title' => 'Speed',
+ 'field' => 'turret.yaw_axis.speed',
+ ...suffix('m/s'),
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Time to full Speed',
+ 'field' => 'turret.yaw_axis.time_to_full_speed',
+ ...suffix('s', space: false),
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Pitch Axis',
+ 'columns' => [
+ // [
+ // 'title' => 'Slaved Only',
+ // 'field' => 'turret.pitch_axis.slaved_only',
+ // ],
+ [
+ 'title' => 'Speed',
+ 'field' => 'turret.pitch_axis.speed',
+ ...suffix('m/s'),
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Time to full Speed',
+ 'field' => 'turret.pitch_axis.time_to_full_speed',
+ ...suffix('s', space: false),
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ ],
+ ],
+ // 'weapon' => [
+ // 'title' => 'Weapons',
+ // 'add_columns' => [],
+ // 'remove_fields' => [],
+ // 'header_filter_options_map' => [],
+ // ],
+ 'WeaponDefensive' => [
+ 'title' => 'Countermeasures',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Type',
+ 'field' => 'counter_measure.type',
+ ],
+ [
+ 'title' => 'Ammo',
+ 'columns' => [
+ [
+ 'title' => 'Capacity',
+ 'field' => 'ammunition.capacity',
+ ],
+ [
+ 'title' => 'Speed',
+ 'field' => 'ammunition.speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Range',
+ 'field' => 'ammunition.range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Lifetime',
+ 'field' => 'ammunition.lifetime',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Signature',
+ 'columns' => [
+ [
+ 'title' => 'IR',
+ 'field' => 'counter_measure.signature.infrared',
+ ],
+ [
+ 'title' => 'CS',
+ 'field' => 'counter_measure.signature.cross_section',
+ ],
+ [
+ 'title' => 'EM',
+ 'field' => 'counter_measure.signature.electromagnetic',
+ ],
+ [
+ 'title' => 'dB',
+ 'field' => 'counter_measure.signature.decibel',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'WeaponGun' => [
+ 'title' => 'Hardpoint Weapons',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['resourceNetwork.emission', 'resourceNetwork.power_usage', 'durability', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Damage',
+ 'columns' => [
+ [
+ 'title' => 'Sustained 60s',
+ 'field' => 'vehicle_weapon.damage.sustained_60s',
+ ],
+ [
+ 'title' => 'Burst',
+ 'field' => 'vehicle_weapon.damage.burst',
+ ],
+ [
+ 'title' => 'Alpha',
+ 'field' => 'vehicle_weapon.damage.alpha_total',
+ ],
+ [
+ 'title' => 'Maximum',
+ 'field' => 'vehicle_weapon.damage.maximum',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Alpha Damage',
+ 'columns' => [
+ [
+ 'title' => 'Physical',
+ 'field' => 'vehicle_weapon.damage.alpha.physical',
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'vehicle_weapon.damage.alpha.energy',
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'vehicle_weapon.damage.alpha.distortion',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Ammunition',
+ 'columns' => [
+ [
+ 'title' => 'Speed',
+ 'field' => 'ammunition.speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Lifetime',
+ 'field' => 'ammunition.lifetime',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Range',
+ 'field' => 'ammunition.range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Capacity',
+ 'field' => 'ammunition.capacity',
+ ],
+ [
+ 'title' => 'Penetration',
+ 'columns' => [
+ [
+ 'title' => 'Base Distance',
+ 'field' => 'ammunition.penetration.base_distance',
+ ],
+ [
+ 'title' => 'Near Radius',
+ 'field' => 'ammunition.penetration.near_radius',
+ ],
+ [
+ 'title' => 'Far Radius',
+ 'field' => 'ammunition.penetration.far_radius',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Explosion Radius',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'ammunition.explosion_radius.min',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'ammunition.explosion_radius.max',
+ ],
+ ],
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Weapon',
+ 'columns' => [
+ [
+ 'title' => 'RPM',
+ 'field' => 'vehicle_weapon.rpm',
+ ],
+ [
+ 'title' => 'Spread',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'vehicle_weapon.spread.min',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'vehicle_weapon.spread.max',
+ ],
+ [
+ 'title' => 'First Attack',
+ 'field' => 'vehicle_weapon.spread.first_attack',
+ ],
+ [
+ 'title' => 'Per Attack',
+ 'field' => 'vehicle_weapon.spread.per_attack',
+ ],
+ ],
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Heat',
+ 'columns' => [
+ [
+ 'title' => 'Per Shot',
+ 'field' => 'vehicle_weapon.heat.per_shot',
+ ],
+ [
+ 'title' => 'Cooling Delay',
+ 'field' => 'vehicle_weapon.heat.cooling_delay',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Cooling/s',
+ 'field' => 'vehicle_weapon.heat.cooling_per_second',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Overheat',
+ 'columns' => [
+ [
+ 'title' => 'Max Shots',
+ 'field' => 'vehicle_weapon.heat.overheat_max_shots',
+ ],
+ [
+ 'title' => 'Max Time',
+ 'field' => 'vehicle_weapon.heat.overheat_max_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Cooldown',
+ 'field' => 'vehicle_weapon.heat.overheat_cooldown',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Capacitor',
+ 'columns' => [
+ [
+ 'title' => 'Max Ammo',
+ 'field' => 'vehicle_weapon.capacitor.max_ammo_load',
+ ],
+ [
+ 'title' => 'Regen/s',
+ 'field' => 'vehicle_weapon.capacitor.regen_per_second',
+ ],
+ [
+ 'title' => 'Cooldown',
+ 'field' => 'vehicle_weapon.capacitor.cooldown',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Charge',
+ 'columns' => [
+ [
+ 'title' => 'Time',
+ 'field' => 'vehicle_weapon.charge.time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Overcharge',
+ 'field' => 'vehicle_weapon.charge.overcharge',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Overcharged',
+ 'field' => 'vehicle_weapon.charge.overcharged',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Cooldown',
+ 'field' => 'vehicle_weapon.charge.cooldown',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Damage Modifier',
+ 'field' => 'vehicle_weapon.charge_modifier.damage',
+ ...suffix('x', space: false),
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'WeaponMining' => [
+ 'title' => 'Mining Lasers',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['resourceNetwork.emission', 'resourceNetwork.power_usage', 'durability', 'resourceNetwork.repair', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Module Slots',
+ 'field' => 'mining_laser.module_slots',
+ ],
+ [
+ 'title' => 'Throttle',
+ 'columns' => [
+ [
+ 'title' => 'Lerp Speed',
+ 'field' => 'mining_laser.throttle_lerp_speed',
+ ],
+ [
+ 'title' => 'Min',
+ 'field' => 'mining_laser.throttle_minimum',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Laser Power',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'mining_laser.laser_power.minimum',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'mining_laser.laser_power.maximum',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Range',
+ 'columns' => [
+ [
+ 'title' => 'Optimal',
+ 'field' => 'mining_laser.optimal_range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'mining_laser.maximum_range',
+ ...suffix('m'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Modifier',
+ 'columns' => [
+ [
+ 'title' => 'Resistance',
+ 'field' => 'mining_laser.modifier_map.resistance',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Instability',
+ 'field' => 'mining_laser.modifier_map.laser_instability',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Optimal Charge Window',
+ 'field' => 'mining_laser.modifier_map.optimal_charge_window_size',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Optimal Rate',
+ 'field' => 'mining_laser.modifier_map.optimal_charge_rate',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Inert Materials',
+ 'field' => 'mining_laser.modifier_map.inert_materials',
+ ...suffix('%', space: false),
+ ],
+ ],
+ ],
+ ],
+ ],
+
+ 'WeaponPersonal' => [
+ 'title' => 'Personal Weapons',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Weapon',
+ 'columns' => [
+ [
+ 'title' => 'Class',
+ 'field' => 'personal_weapon.class',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Type',
+ 'field' => 'personal_weapon.type',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'RPM',
+ 'field' => 'personal_weapon.rpm',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Damage',
+ 'columns' => [
+ [
+ 'title' => 'Burst',
+ 'field' => 'personal_weapon.damage.dps_total',
+ ],
+ [
+ 'title' => 'Alpha',
+ 'field' => 'personal_weapon.damage.alpha_total',
+ ],
+ [
+ 'title' => 'Per Mag',
+ 'field' => 'personal_weapon.damage.maximum',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Alpha Damage',
+ 'columns' => [
+ [
+ 'title' => 'Physical',
+ 'field' => 'personal_weapon.damage.alpha.physical',
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'personal_weapon.damage.alpha.energy',
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'personal_weapon.damage.alpha.distortion',
+ ],
+ [
+ 'title' => 'Stun',
+ 'field' => 'personal_weapon.damage.alpha.stun',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'DPS',
+ 'columns' => [
+ [
+ 'title' => 'Physical',
+ 'field' => 'personal_weapon.damage.dps.physical',
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'personal_weapon.damage.dps.energy',
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'personal_weapon.damage.dps.distortion',
+ ],
+ [
+ 'title' => 'Stun',
+ 'field' => 'personal_weapon.damage.dps.stun',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Ammunition',
+ 'columns' => [
+ [
+ 'title' => 'Speed',
+ 'field' => 'ammunition.speed',
+ ...suffix('m/s'),
+ ],
+ [
+ 'title' => 'Lifetime',
+ 'field' => 'ammunition.lifetime',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Range',
+ 'field' => 'ammunition.range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Capacity',
+ 'field' => 'ammunition.capacity',
+ ],
+ [
+ 'title' => 'Pellets per Shot',
+ 'field' => 'personal_weapon.pellets_per_shot',
+ ],
+ [
+ 'title' => 'Penetration',
+ 'columns' => [
+ [
+ 'title' => 'Base Distance',
+ 'field' => 'ammunition.penetration.base_distance',
+ ],
+ [
+ 'title' => 'Near Radius',
+ 'field' => 'ammunition.penetration.near_radius',
+ ],
+ [
+ 'title' => 'Far Radius',
+ 'field' => 'ammunition.penetration.far_radius',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Explosion Radius',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'ammunition.explosion_radius.min',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'ammunition.explosion_radius.max',
+ ],
+ ],
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Damage Drop',
+ 'columns' => [
+ [
+ 'title' => 'Min Distance',
+ 'field' => 'ammunition.damage_drop_min_distance.total',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Per Meter',
+ 'field' => 'ammunition.damage_drop_per_meter.total',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Min Alpha',
+ 'field' => 'ammunition.damage_drop_min_damage.total',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Spread',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'personal_weapon.spread.minimum',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'personal_weapon.spread.maximum',
+ ],
+ [
+ 'title' => 'First Attack',
+ 'field' => 'personal_weapon.spread.first_attack',
+ ],
+ [
+ 'title' => 'Per Attack',
+ 'field' => 'personal_weapon.spread.per_attack',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'ADS Spread',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'personal_weapon.ads_spread.minimum',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'personal_weapon.ads_spread.maximum',
+ ],
+ [
+ 'title' => 'First Attack',
+ 'field' => 'personal_weapon.ads_spread.first_attack',
+ ],
+ [
+ 'title' => 'Per Attack',
+ 'field' => 'personal_weapon.ads_spread.per_attack',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Charge Action',
+ 'columns' => [
+ [
+ 'title' => 'Charge Time',
+ 'field' => 'personal_weapon.charge.time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Overcharge',
+ 'field' => 'personal_weapon.charge.overcharge_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Overcharged',
+ 'field' => 'personal_weapon.charge.overcharged_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Cooldown',
+ 'field' => 'personal_weapon.charge.cooldown_time',
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Charge Modifier',
+ 'columns' => [
+ [
+ 'title' => 'Damage',
+ 'field' => 'personal_weapon.charge_modifier.damage',
+ ...suffix('x', space: false),
+ ],
+ [
+ 'title' => 'Fire Rate',
+ 'field' => 'personal_weapon.charge_modifier.fire_rate',
+ ...suffix('x', space: false),
+ ],
+ [
+ 'title' => 'Ammo Speed',
+ 'field' => 'personal_weapon.charge_modifier.ammo_speed',
+ ...suffix('x', space: false),
+ ],
+ ],
+ ],
+ ],
+ ],
+
+ // Categories
+
+ 'clothes' => [
+ 'title' => 'Clothing',
+ 'remove_fields' => ['sub_type', 'grade', 'class'],
+ 'shared' => ['inventory', 'occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Clothing',
+ 'columns' => [
+ [
+ 'title' => 'Slot',
+ 'field' => 'clothing.slot',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Type',
+ 'field' => 'clothing.type',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Resistance',
+ 'columns' => [
+ [
+ 'title' => 'Temperature',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'clothing.temperature_resistance.minimum',
+ ...suffix('ºC'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'clothing.temperature_resistance.maximum',
+ ...suffix('ºC'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Radiation',
+ 'columns' => [
+ [
+ 'title' => 'Capacity',
+ 'field' => 'clothing.radiation_resistance.maximum_radiation_capacity',
+ ],
+ [
+ 'title' => 'Scrub Rate',
+ 'field' => 'clothing.radiation_resistance.radiation_dissipation_rate',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'food' => [
+ 'title' => 'Food & Drinks',
+ 'matches' => [
+ 'Food',
+ 'Bottle',
+ 'Drink',
+ ],
+ 'remove_fields' => ['grade', 'class'],
+ 'shared' => ['occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Nutrition',
+ 'columns' => [
+ [
+ 'title' => 'Thirst',
+ 'field' => 'food.nutrition.thirst',
+ ],
+ [
+ 'title' => 'Hunger',
+ 'field' => 'food.nutrition.hunger',
+ ],
+ [
+ 'title' => 'Blood Drug Level',
+ 'field' => 'food.nutrition.blood_drug_level',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Buffs',
+ 'columns' => [
+ [
+ 'title' => 'Hypertrophic',
+ 'field' => 'food.buffs.hypertrophic',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Hypo Metabolic',
+ 'field' => 'food.buffs.hypo_metabolic',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Hydrating',
+ 'field' => 'food.buffs.hydrating',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Cognitive Boost',
+ 'field' => 'food.buffs.cognitive_boost',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Energizing',
+ 'field' => 'food.buffs.energizing',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Immune',
+ 'field' => 'food.buffs.immune_boost',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Debuffs',
+ 'columns' => [
+ [
+ 'title' => 'Cognitive Impair',
+ 'field' => 'food.debuffs.cognitive_impair',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Dehydrating',
+ 'field' => 'food.debuffs.dehydrating',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Hyper Metabolic',
+ 'field' => 'food.debuffs.hyper_metabolic',
+ 'headerSort' => false,
+ ...suffix('s', space: false),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Consumption',
+ 'columns' => [
+ [
+ 'title' => 'Volume',
+ 'field' => 'food.consumption.volume',
+ 'headerSort' => false,
+ ...suffix('µSCU'),
+ ],
+ [
+ 'title' => 'One Shot',
+ 'field' => 'food.consumption.one_shot_consume',
+ 'headerSort' => false,
+ 'formatter' => 'tickCross',
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Container',
+ 'columns' => [
+ [
+ 'title' => 'Type',
+ 'field' => 'food.container.type',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Closed',
+ 'field' => 'food.container.closed',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Closable',
+ 'field' => 'food.container.can_be_reclosed',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Discard',
+ 'field' => 'food.container.discard_when_consumed',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'fps-armor' => [
+ 'title' => 'FPS Armor',
+ 'matches' => [
+ 'Char_Armor_Undersuit',
+ 'Char_Armor_Arms',
+ 'Char_Armor_Helmet',
+ 'Char_Armor_Torso',
+ 'Char_Armor_Legs',
+ ],
+ 'remove_fields' => ['grade', 'class'],
+ 'shared' => ['inventory', 'occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Armor',
+ 'columns' => [
+ [
+ 'title' => 'Slot',
+ 'field' => 'clothing.slot',
+ 'headerSort' => false,
+ ],
+ // [
+ // 'title' => 'Type',
+ // 'field' => 'clothing.type',
+ // ],
+ ],
+ ],
+
+ [
+ 'title' => 'Resistance',
+ 'columns' => [
+ [
+ 'title' => 'Temperature',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'clothing.temperature_resistance.minimum',
+ ...suffix('ºC'),
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'clothing.temperature_resistance.maximum',
+ ...suffix('ºC'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Radiation',
+ 'columns' => [
+ [
+ 'title' => 'Capacity',
+ 'field' => 'clothing.radiation_resistance.maximum_radiation_capacity',
+ ...suffix('REM'),
+ ],
+ [
+ 'title' => 'Scrub Rate',
+ 'field' => 'clothing.radiation_resistance.radiation_dissipation_rate',
+ ...suffix('REM/s'),
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Damage',
+ 'columns' => [
+ [
+ 'title' => 'Impact',
+ 'field' => 'clothing.damage_resistance_map.impact_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Physical',
+ 'field' => 'clothing.damage_resistance_map.physical_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Energy',
+ 'field' => 'clothing.damage_resistance_map.energy_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Distortion',
+ 'field' => 'clothing.damage_resistance_map.distortion_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Thermal',
+ 'field' => 'clothing.damage_resistance_map.thermal_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Stun',
+ 'field' => 'clothing.damage_resistance_map.stun_change',
+ 'formatter' => 'pctDelta',
+ ],
+ ],
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Signature',
+ 'columns' => [
+ [
+ 'title' => 'EM',
+ 'field' => 'clothing.signature.electromagnetic',
+ ],
+ [
+ 'title' => 'IR',
+ 'field' => 'clothing.signature.infrared',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'medical' => [
+ 'title' => 'Medicine',
+ 'remove_fields' => ['grade', 'class'],
+ 'shared' => ['occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Combat Buffs',
+ 'columns' => [
+ [
+ 'title' => 'Stun Recovery',
+ 'field' => 'medical.combat_buffs.stun_recovery',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Move Speed',
+ 'field' => 'medical.combat_buffs.move_speed',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Weapon Sway',
+ 'field' => 'medical.combat_buffs.weapon_sway',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'ADS Enter',
+ 'field' => 'medical.combat_buffs.a_d_s_enter',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Impact Resistance',
+ 'columns' => [
+ [
+ 'title' => 'Knockdown',
+ 'field' => 'medical.impact_resistances.knockdown',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Stagger',
+ 'field' => 'medical.impact_resistances.stagger',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Twitch',
+ 'field' => 'medical.impact_resistances.twitch',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Flinch',
+ 'field' => 'medical.impact_resistances.flinch',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Consumption',
+ 'columns' => [
+ [
+ 'title' => 'Volume',
+ 'field' => 'medical.consumption.volume',
+ ...suffix('µSCU'),
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'One Shot',
+ 'field' => 'medical.consumption.one_shot_consume',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Container',
+ 'columns' => [
+ [
+ 'title' => 'Type',
+ 'field' => 'medical.container.type',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Closed',
+ 'field' => 'medical.container.closed',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Closable',
+ 'field' => 'medical.container.can_be_reclosed',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Discard',
+ 'field' => 'medical.container.discard_when_consumed',
+ 'formatter' => 'tickCross',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'mining-modifiers' => [
+ 'title' => 'Mining Modules & Gadgets',
+ 'remove_fields' => ['sub_type', 'classification', 'grade', 'class'],
+ 'shared' => ['durability', 'occupancy'],
+ 'shared_insert_at' => 2,
+
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Type',
+ 'field' => 'mining_modifier.item_type',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Status',
+ 'field' => 'mining_modifier.type',
+ ],
+ [
+ 'title' => 'Charges',
+ 'field' => 'mining_modifier.charges',
+ ],
+ [
+ 'title' => 'Duration',
+ 'field' => 'mining_modifier.duration',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Modifier (Mining/Extraction)',
+ 'field' => 'mining_modifier.power_modifier',
+ 'formatter' => 'pct',
+ ],
+ [
+ 'title' => 'Modifier',
+ 'columns' => [
+ [
+ 'title' => 'Resistance',
+ 'field' => 'mining_modifier.modifier_map.resistance',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Instability',
+ 'field' => 'mining_modifier.modifier_map.laser_instability',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Optimal Charge Window',
+ 'field' => 'mining_modifier.modifier_map.optimal_charge_window_size',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Optimal Rate',
+ 'field' => 'mining_modifier.modifier_map.optimal_charge_rate',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Shatter Damage',
+ 'field' => 'mining_modifier.modifier_map.shatter_damage',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Cluster Factor',
+ 'field' => 'mining_modifier.modifier_map.cluster_factor',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Overcharge Rate',
+ 'field' => 'mining_modifier.modifier_map.overcharge_rate',
+ ...suffix('%', space: false),
+ ],
+ [
+ 'title' => 'Inert Materials',
+ 'field' => 'mining_modifier.modifier_map.inert_materials',
+ ...suffix('%', space: false),
+ ],
+ ],
+ ],
+
+ ],
+ ],
+ 'vehicle-flair-items' => [
+ 'title' => 'Vehicle Flair Items',
+ 'remove_fields' => ['grade', 'class', 'classification'],
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Description',
+ 'field' => 'description.en_EN',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ 'weapon-attachments' => [
+ 'title' => 'Personal Weapon Attachments',
+ 'matches' => [
+ 'WeaponAttachment',
+ 'BottomAttachment',
+ 'IronSight',
+ 'Barrel',
+ ],
+ 'remove_fields' => ['grade', 'class'],
+ 'shared' => ['occupancy'],
+ 'shared_insert_at' => 2,
+ 'add_columns_insert_at' => 1,
+ 'add_columns' => [
+ [
+ 'title' => 'Weapon Modifier',
+ 'columns' => [
+ [
+ 'title' => 'Damage',
+ 'field' => 'weapon_modifier.base.damage_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Projectile Speed',
+ 'field' => 'weapon_modifier.base.projectile_speed_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Ammo Cost',
+ 'field' => 'weapon_modifier.base.ammo_cost_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Audible Range',
+ 'field' => 'weapon_modifier.base.sound_radius_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Muzzle Flash',
+ 'field' => 'weapon_modifier.base.muzzle_flash_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Heat Generation',
+ 'field' => 'weapon_modifier.base.heat_generation_change',
+ 'formatter' => 'pctDelta',
+ ],
+ ],
+ ],
+
+ [
+ 'title' => 'Recoil',
+ 'columns' => [
+ [
+ 'title' => 'Recoil',
+ 'field' => 'weapon_modifier.recoil.multiplier_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Decay',
+ 'field' => 'weapon_modifier.recoil.decay_change',
+ 'formatter' => 'pctDelta',
+ ],
+ ],
+ ],
+
+ [
+ 'title' => 'Spread',
+ 'columns' => [
+ [
+ 'title' => 'Min',
+ 'field' => 'weapon_modifier.spread.min_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Max',
+ 'field' => 'weapon_modifier.spread.max_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'First Attack',
+ 'field' => 'weapon_modifier.spread.first_attack_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Per Attack',
+ 'field' => 'weapon_modifier.spread.per_attack_change',
+ 'formatter' => 'pctDelta',
+ ],
+ [
+ 'title' => 'Decay',
+ 'field' => 'weapon_modifier.spread.decay_change',
+ 'formatter' => 'pctDelta',
+ ],
+ ],
+ ],
+
+ [
+ 'title' => 'Iron Sight',
+ 'columns' => [
+ [
+ 'title' => 'Default Range',
+ 'field' => 'iron_sight.default_range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Max Range',
+ 'field' => 'iron_sight.max_range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Range Increment',
+ 'field' => 'iron_sight.range_increment',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Auto Zeroing Time',
+ 'field' => 'iron_sight.auto_zeroing_time',
+ ...suffix('s', space: false),
+ ],
+ [
+ 'title' => 'Zoom Scale',
+ 'field' => 'iron_sight.zoom_scale',
+ ...suffix('x'),
+ ],
+ [
+ 'title' => 'Second Zoom Scale',
+ 'field' => 'weapon_modifier.aim.second_zoom_scale',
+ ...suffix('x'),
+ ],
+ [
+ 'title' => 'Zoom Time',
+ 'field' => 'iron_sight.zoom_time_change',
+ 'formatter' => 'pctDelta',
+ ],
+ ],
+ ],
+
+ [
+ 'title' => 'Flashlight',
+ 'columns' => [
+ [
+ 'title' => 'Wide Mode',
+ 'columns' => [
+ [
+ 'title' => 'Type',
+ 'field' => 'flashlight.wide.light_type',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Radius',
+ 'field' => 'flashlight.wide.light_radius',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Intensity',
+ 'field' => 'flashlight.wide.intensity',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Color',
+ 'field' => 'flashlight.wide.color_css',
+ 'formatter' => 'color',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ [
+ 'title' => 'Narrow Mode',
+ 'columns' => [
+ [
+ 'title' => 'Type',
+ 'field' => 'flashlight.narrow.light_type',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Radius',
+ 'field' => 'flashlight.narrow.light_radius',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Intensity',
+ 'field' => 'flashlight.narrow.intensity',
+ 'headerSort' => false,
+ ],
+ [
+ 'title' => 'Color',
+ 'field' => 'flashlight.narrow.color_css',
+ 'formatter' => 'color',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ ],
+ ],
+
+ [
+ 'title' => 'Laser Pointer',
+ 'columns' => [
+ [
+ 'title' => 'Range',
+ 'field' => 'laser_pointer.range',
+ ...suffix('m'),
+ ],
+ [
+ 'title' => 'Color',
+ 'field' => 'laser_pointer.color_css',
+ 'formatter' => 'color',
+ 'headerSort' => false,
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+];
diff --git a/config/json-api-paginate.php b/config/json-api-paginate.php
new file mode 100644
index 000000000..20679cc1b
--- /dev/null
+++ b/config/json-api-paginate.php
@@ -0,0 +1,64 @@
+ 200,
+
+ /*
+ * The default number of results that will be returned
+ * when using the JSON API paginator.
+ */
+ 'default_size' => 30,
+
+ /*
+ * The key of the page[x] query string parameter for page number.
+ */
+ 'number_parameter' => 'number',
+
+ /*
+ * The key of the page[x] query string parameter for page size.
+ */
+ 'size_parameter' => 'size',
+
+ /*
+ * The key of the page[x] query string parameter for cursor.
+ */
+ 'cursor_parameter' => 'cursor',
+
+ /*
+ * The name of the macro that is added to the Eloquent query builder.
+ */
+ 'method_name' => 'jsonPaginate',
+
+ /*
+ * If you only need to display Next and Previous links, you may use
+ * simple pagination to perform a more efficient query.
+ */
+ 'use_simple_pagination' => false,
+
+ /*
+ * If you want to use cursor pagination, set this to true.
+ * This would override use_simple_pagination.
+ */
+ 'use_cursor_pagination' => false,
+
+ /*
+ * use simpleFastPaginate() or fastPaginate from https://github.com/aarondfrancis/fast-paginate
+ * use may installed it via `composer require aaronfrancis/fast-paginate`
+ */
+ 'use_fast_pagination' => false,
+
+ /*
+ * Here you can override the base url to be used in the link items.
+ */
+ 'base_url' => null,
+
+ /*
+ * The name of the query parameter used for pagination
+ */
+ 'pagination_parameter' => 'page',
+];
diff --git a/config/language.php b/config/language.php
index f9b291720..631eb281a 100644
--- a/config/language.php
+++ b/config/language.php
@@ -2,16 +2,18 @@
declare(strict_types=1);
+use App\Models\System\Language;
+
return [
- 'english' => \App\Models\System\Language::ENGLISH,
- 'german' => \App\Models\System\Language::GERMAN,
- 'chinese' => \App\Models\System\Language::CHINESE,
+ 'english' => Language::ENGLISH,
+ 'german' => Language::GERMAN,
+ 'chinese' => Language::CHINESE,
// @Todo Codes need to be updated if more are added
'codes' => [
- 'de_DE',
- 'en_EN',
- 'zh_CN',
+ 'de',
+ 'en',
+ 'zh',
],
'enable_galactapedia_language_links' => env('GALACTAPEDIA_LANGUAGE_LINKS', false),
diff --git a/config/logging.php b/config/logging.php
index 972b18f86..9e998a496 100644
--- a/config/logging.php
+++ b/config/logging.php
@@ -1,5 +1,10 @@
env('LOG_CHANNEL', 'stack'),
- 'log_profiling' => env('APP_LOG_PROFILING', false),
+ /*
+ |--------------------------------------------------------------------------
+ | Deprecations Log Channel
+ |--------------------------------------------------------------------------
+ |
+ | This option controls the log channel that should be used to log warnings
+ | regarding deprecated PHP and library features. This allows you to get
+ | your application ready for upcoming major versions of dependencies.
+ |
+ */
+
+ 'deprecations' => [
+ 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'),
+ 'trace' => env('LOG_DEPRECATIONS_TRACE', false),
+ ],
/*
|--------------------------------------------------------------------------
| Log Channels
|--------------------------------------------------------------------------
|
- | Here you may configure the log channels for your application. Out of
- | the box, Laravel uses the Monolog PHP logging library. This gives
- | you a variety of powerful log handlers / formatters to utilize.
+ | Here you may configure the log channels for your application. Laravel
+ | utilizes the Monolog PHP logging library, which includes a variety
+ | of powerful log handlers and formatters that you're free to use.
|
- | Available Drivers: "single", "daily", "slack", "syslog",
- | "errorlog", "custom", "stack"
+ | Available drivers: "single", "daily", "slack", "syslog",
+ | "errorlog", "monolog", "custom", "stack"
|
*/
'channels' => [
+
'stack' => [
'driver' => 'stack',
- 'channels' => ['daily'],
+ 'channels' => explode(',', (string) env('LOG_STACK', 'single')),
+ 'ignore_exceptions' => false,
],
'single' => [
'driver' => 'single',
'path' => storage_path('logs/laravel.log'),
- 'level' => 'debug',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'replace_placeholders' => true,
],
'daily' => [
'driver' => 'daily',
'path' => storage_path('logs/laravel.log'),
- 'level' => env('LOG_LEVEL', 'info'),
- 'days' => 7,
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'days' => env('LOG_DAILY_DAYS', 14),
+ 'replace_placeholders' => true,
],
'slack' => [
'driver' => 'slack',
'url' => env('LOG_SLACK_WEBHOOK_URL'),
- 'username' => 'Laravel Log',
- 'emoji' => ':boom:',
- 'level' => 'critical',
+ 'username' => env('LOG_SLACK_USERNAME', 'Laravel Log'),
+ 'emoji' => env('LOG_SLACK_EMOJI', ':boom:'),
+ 'level' => env('LOG_LEVEL', 'critical'),
+ 'replace_placeholders' => true,
+ ],
+
+ 'papertrail' => [
+ 'driver' => 'monolog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class),
+ 'handler_with' => [
+ 'host' => env('PAPERTRAIL_URL'),
+ 'port' => env('PAPERTRAIL_PORT'),
+ 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'),
+ ],
+ 'processors' => [PsrLogMessageProcessor::class],
+ ],
+
+ 'stderr' => [
+ 'driver' => 'monolog',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'handler' => StreamHandler::class,
+ 'handler_with' => [
+ 'stream' => 'php://stderr',
+ ],
+ 'formatter' => env('LOG_STDERR_FORMATTER'),
+ 'processors' => [PsrLogMessageProcessor::class],
],
'syslog' => [
'driver' => 'syslog',
- 'level' => 'debug',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'facility' => env('LOG_SYSLOG_FACILITY', LOG_USER),
+ 'replace_placeholders' => true,
],
'errorlog' => [
'driver' => 'errorlog',
- 'level' => 'debug',
+ 'level' => env('LOG_LEVEL', 'debug'),
+ 'replace_placeholders' => true,
+ ],
+
+ 'null' => [
+ 'driver' => 'monolog',
+ 'handler' => NullHandler::class,
],
+
+ 'emergency' => [
+ 'path' => storage_path('logs/laravel.log'),
+ ],
+
],
];
diff --git a/config/mail.php b/config/mail.php
index 6331c92b5..522b284b8 100644
--- a/config/mail.php
+++ b/config/mail.php
@@ -4,119 +4,115 @@
/*
|--------------------------------------------------------------------------
- | Mail Driver
+ | Default Mailer
|--------------------------------------------------------------------------
|
- | Laravel supports both SMTP and PHP's "mail" function as drivers for the
- | sending of e-mail. You may specify which one you're using throughout
- | your application here. By default, Laravel is setup for SMTP mail.
- |
- | Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill",
- | "ses", "sparkpost", "log"
+ | This option controls the default mailer that is used to send all email
+ | messages unless another mailer is explicitly specified when sending
+ | the message. All additional mailers can be configured within the
+ | "mailers" array. Examples of each type of mailer are provided.
|
*/
- 'driver' => env('MAIL_DRIVER', 'smtp'),
+ 'default' => env('MAIL_MAILER', 'log'),
/*
|--------------------------------------------------------------------------
- | SMTP Host Address
+ | Mailer Configurations
|--------------------------------------------------------------------------
|
- | Here you may provide the host address of the SMTP server used by your
- | applications. A default option is provided that is compatible with
- | the Mailgun mail service which will provide reliable deliveries.
+ | Here you may configure all of the mailers used by your application plus
+ | their respective settings. Several examples have been configured for
+ | you and you are free to add your own as your application requires.
|
- */
-
- 'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
-
- /*
- |--------------------------------------------------------------------------
- | SMTP Host Port
- |--------------------------------------------------------------------------
+ | Laravel supports a variety of mail "transport" drivers that can be used
+ | when delivering an email. You may specify which one you're using for
+ | your mailers below. You may also add additional mailers if needed.
|
- | This is the SMTP port used by your application to deliver e-mails to
- | users of the application. Like the host we have set this value to
- | stay compatible with the Mailgun e-mail application by default.
+ | Supported: "smtp", "sendmail", "mailgun", "ses", "ses-v2",
+ | "postmark", "resend", "log", "array",
+ | "failover", "roundrobin"
|
*/
- 'port' => env('MAIL_PORT', 587),
+ 'mailers' => [
+
+ 'smtp' => [
+ 'transport' => 'smtp',
+ 'scheme' => env('MAIL_SCHEME'),
+ 'url' => env('MAIL_URL'),
+ 'host' => env('MAIL_HOST', '127.0.0.1'),
+ 'port' => env('MAIL_PORT', 2525),
+ 'username' => env('MAIL_USERNAME'),
+ 'password' => env('MAIL_PASSWORD'),
+ 'timeout' => null,
+ 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url((string) env('APP_URL', 'http://localhost'), PHP_URL_HOST)),
+ ],
- /*
- |--------------------------------------------------------------------------
- | Global "From" Address
- |--------------------------------------------------------------------------
- |
- | You may wish for all e-mails sent by your application to be sent from
- | the same address. Here, you may specify a name and address that is
- | used globally for all e-mails that are sent by your application.
- |
- */
+ 'ses' => [
+ 'transport' => 'ses',
+ ],
- 'from' => [
- 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
- 'name' => env('MAIL_FROM_NAME', 'Example'),
- ],
+ 'postmark' => [
+ 'transport' => 'postmark',
+ // 'message_stream_id' => env('POSTMARK_MESSAGE_STREAM_ID'),
+ // 'client' => [
+ // 'timeout' => 5,
+ // ],
+ ],
- /*
- |--------------------------------------------------------------------------
- | E-Mail Encryption Protocol
- |--------------------------------------------------------------------------
- |
- | Here you may specify the encryption protocol that should be used when
- | the application send e-mail messages. A sensible default using the
- | transport layer security protocol should provide great security.
- |
- */
+ 'resend' => [
+ 'transport' => 'resend',
+ ],
- 'encryption' => env('MAIL_ENCRYPTION', 'tls'),
+ 'sendmail' => [
+ 'transport' => 'sendmail',
+ 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'),
+ ],
- /*
- |--------------------------------------------------------------------------
- | SMTP Server Username
- |--------------------------------------------------------------------------
- |
- | If your SMTP server requires a username for authentication, you should
- | set it here. This will get used to authenticate with your server on
- | connection. You may also set the "password" value below this one.
- |
- */
+ 'log' => [
+ 'transport' => 'log',
+ 'channel' => env('MAIL_LOG_CHANNEL'),
+ ],
- 'username' => env('MAIL_USERNAME'),
+ 'array' => [
+ 'transport' => 'array',
+ ],
- /*
- |--------------------------------------------------------------------------
- | SMTP Server Password
- |--------------------------------------------------------------------------
- |
- | Here you may set the password required by your SMTP server to send out
- | messages from your application. This will be given to the server on
- | connection so that the application will be able to send messages.
- |
- */
+ 'failover' => [
+ 'transport' => 'failover',
+ 'mailers' => [
+ 'smtp',
+ 'log',
+ ],
+ 'retry_after' => 60,
+ ],
- 'password' => env('MAIL_PASSWORD'),
+ 'roundrobin' => [
+ 'transport' => 'roundrobin',
+ 'mailers' => [
+ 'ses',
+ 'postmark',
+ ],
+ 'retry_after' => 60,
+ ],
+
+ ],
/*
|--------------------------------------------------------------------------
- | Sendmail System Path
+ | Global "From" Address
|--------------------------------------------------------------------------
|
- | When using the "sendmail" driver to send e-mails, we will need to know
- | the path to where Sendmail lives on this server. A default path has
- | been provided here, which will work well on most of your systems.
+ | You may wish for all emails sent by your application to be sent from
+ | the same address. Here you may specify a name and address that is
+ | used globally for all emails that are sent by your application.
|
*/
- 'sendmail' => '/usr/sbin/sendmail -bs',
-
- 'markdown' => [
- 'theme' => 'default',
-
- 'paths' => [
- resource_path('views/vendor/mail'),
- ],
+ 'from' => [
+ 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'),
+ 'name' => env('MAIL_FROM_NAME', 'Example'),
],
+
];
diff --git a/config/mediawiki.php b/config/mediawiki.php
deleted file mode 100644
index 6a1374428..000000000
--- a/config/mediawiki.php
+++ /dev/null
@@ -1,26 +0,0 @@
- env('WIKI_API_URL'),
-
- 'token_driver' => 'session',
-
- 'driver' => [
- // Session Keys
- 'session' => [
- 'token' => 'oauth.user_token',
- 'secret' => 'oauth.user_secret',
- ],
- // Database Fields
- 'database' => [
- 'token' => 'oauth_token',
- 'secret' => 'oauth_secret',
- ],
- ],
-
- 'request' => [
- 'timeout' => 15.0,
- ],
-];
diff --git a/config/query-builder.php b/config/query-builder.php
index 1a9c8e5ed..67b30817b 100644
--- a/config/query-builder.php
+++ b/config/query-builder.php
@@ -26,18 +26,59 @@
*/
'count_suffix' => 'Count',
+ /*
+ * Related model exists are included using the relationship name suffixed with this string.
+ * For example: GET /users?include=postsExists
+ */
+ 'exists_suffix' => 'Exists',
+
/*
* By default the package will throw an `InvalidFilterQuery` exception when a filter in the
* URL is not allowed in the `allowedFilters()` method.
*/
- 'disable_invalid_filter_query_exception' => false,
+ 'disable_invalid_filter_query_exception' => true,
+
+ /*
+ * By default the package will throw an `InvalidSortQuery` exception when a sort in the
+ * URL is not allowed in the `allowedSorts()` method.
+ */
+ 'disable_invalid_sort_query_exception' => true,
+
+ /*
+ * By default the package will throw an `InvalidIncludeQuery` exception when an include in the
+ * URL is not allowed in the `allowedIncludes()` method.
+ */
+ 'disable_invalid_includes_query_exception' => true,
+
+ /*
+ * By default, the package expects relationship names to be snake case plural when using fields[relationship].
+ * For example, fetching the id and name for a userOwner relation would look like this:
+ * GET /users?include=userOwner&fields[user_owners]=id,name
+ *
+ * Set this to `false` if you don't want that and keep the requested relationship names as-is and allows you to
+ * request the fields using a camelCase relationship name:
+ * GET /users?include=userOwner&fields[userOwner]=id,name
+ */
+ 'convert_relation_names_to_snake_case_plural' => true,
+
+ /*
+ * This is an alternative to the previous option if you don't want to use default snake case plural for fields[relationship].
+ * It resolves the table name for the related model using the Laravel model class and, based on your chosen strategy,
+ * matches it with the fields[relationship] provided in the request.
+ *
+ * Set this to one of `snake_case`, `camelCase` or `none` if you want to enable table name resolution in addition to the relation name resolution.
+ * `snake_case` => Matches table names like 'topOrders' to `fields[top_orders]`
+ * `camelCase` => Matches table names like 'top_orders' to 'fields[topOrders]'
+ * `none` => Uses the exact table name
+ */
+ 'convert_relation_table_name_strategy' => false,
/*
- * By default the package inspects query string of request using $request->query().
- * You can change this behavior to inspect the request body using $request->input()
- * by setting this value to `body`.
+ * By default, the package expects the field names to match the database names
+ * For example, fetching the field named firstName would look like this:
+ * GET /users?fields=firstName
*
- * Possible values: `query_string`, `body`
+ * Set this to `true` if you want to convert the firstName into first_name for the underlying query
*/
- 'request_data_source' => 'query_string',
+ 'convert_field_names_to_snake_case' => false,
];
diff --git a/config/queue.php b/config/queue.php
index 958daa943..79c2c0a23 100644
--- a/config/queue.php
+++ b/config/queue.php
@@ -1,32 +1,31 @@
env('QUEUE_DRIVER', 'sync'),
+ 'default' => env('QUEUE_CONNECTION', 'database'),
/*
|--------------------------------------------------------------------------
| Queue Connections
|--------------------------------------------------------------------------
|
- | Here you may configure the connection information for each server that
- | is used by your application. A default configuration has been added
- | for each back-end shipped with Laravel. You are free to add more.
+ | Here you may configure the connection options for every queue backend
+ | used by your application. An example configuration is provided for
+ | each backend supported by Laravel. You're also free to add more.
+ |
+ | Drivers: "sync", "database", "beanstalkd", "sqs", "redis",
+ | "deferred", "background", "failover", "null"
|
*/
@@ -38,34 +37,92 @@
'database' => [
'driver' => 'database',
- 'table' => 'jobs',
- 'queue' => 'default',
- 'retry_after' => 90,
+ 'connection' => env('DB_QUEUE_CONNECTION'),
+ 'table' => env('DB_QUEUE_TABLE', 'jobs'),
+ 'queue' => env('DB_QUEUE', 'default'),
+ 'retry_after' => (int) env('DB_QUEUE_RETRY_AFTER', 90),
+ 'after_commit' => false,
+ ],
+
+ 'beanstalkd' => [
+ 'driver' => 'beanstalkd',
+ 'host' => env('BEANSTALKD_QUEUE_HOST', 'localhost'),
+ 'queue' => env('BEANSTALKD_QUEUE', 'default'),
+ 'retry_after' => (int) env('BEANSTALKD_QUEUE_RETRY_AFTER', 90),
+ 'block_for' => 0,
+ 'after_commit' => false,
+ ],
+
+ 'sqs' => [
+ 'driver' => 'sqs',
+ 'key' => env('AWS_ACCESS_KEY_ID'),
+ 'secret' => env('AWS_SECRET_ACCESS_KEY'),
+ 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'),
+ 'queue' => env('SQS_QUEUE', 'default'),
+ 'suffix' => env('SQS_SUFFIX'),
+ 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'),
+ 'after_commit' => false,
],
'redis' => [
'driver' => 'redis',
- 'connection' => 'default',
- 'queue' => 'default',
- 'retry_after' => 90,
+ 'connection' => env('REDIS_QUEUE_CONNECTION', 'default'),
+ 'queue' => env('REDIS_QUEUE', 'default'),
+ 'retry_after' => (int) env('REDIS_QUEUE_RETRY_AFTER', 90),
'block_for' => null,
+ 'after_commit' => false,
+ ],
+
+ 'deferred' => [
+ 'driver' => 'deferred',
+ ],
+
+ 'background' => [
+ 'driver' => 'background',
+ ],
+
+ 'failover' => [
+ 'driver' => 'failover',
+ 'connections' => [
+ 'database',
+ 'deferred',
+ ],
],
],
+ /*
+ |--------------------------------------------------------------------------
+ | Job Batching
+ |--------------------------------------------------------------------------
+ |
+ | The following options configure the database and table that store job
+ | batching information. These options can be updated to any database
+ | connection and table which has been defined by your application.
+ |
+ */
+
+ 'batching' => [
+ 'database' => env('DB_CONNECTION', 'sqlite'),
+ 'table' => 'job_batches',
+ ],
+
/*
|--------------------------------------------------------------------------
| Failed Queue Jobs
|--------------------------------------------------------------------------
|
| These options configure the behavior of failed queue job logging so you
- | can control which database and table are used to store the jobs that
- | have failed. You may change them to any database / table you wish.
+ | can control how and where failed jobs are stored. Laravel ships with
+ | support for storing failed jobs in a simple file or in a database.
+ |
+ | Supported drivers: "database-uuids", "dynamodb", "file", "null"
|
*/
'failed' => [
- 'database' => env('DB_CONNECTION', 'mysql'),
+ 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'),
+ 'database' => env('DB_CONNECTION', 'sqlite'),
'table' => 'failed_jobs',
],
diff --git a/config/sanctum.php b/config/sanctum.php
new file mode 100644
index 000000000..44527d684
--- /dev/null
+++ b/config/sanctum.php
@@ -0,0 +1,84 @@
+ explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf(
+ '%s%s',
+ 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1',
+ Sanctum::currentApplicationUrlWithPort(),
+ // Sanctum::currentRequestHost(),
+ ))),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Sanctum Guards
+ |--------------------------------------------------------------------------
+ |
+ | This array contains the authentication guards that will be checked when
+ | Sanctum is trying to authenticate a request. If none of these guards
+ | are able to authenticate the request, Sanctum will use the bearer
+ | token that's present on an incoming request for authentication.
+ |
+ */
+
+ 'guard' => ['web'],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Expiration Minutes
+ |--------------------------------------------------------------------------
+ |
+ | This value controls the number of minutes until an issued token will be
+ | considered expired. This will override any values set in the token's
+ | "expires_at" attribute, but first-party sessions are not affected.
+ |
+ */
+
+ 'expiration' => null,
+
+ /*
+ |--------------------------------------------------------------------------
+ | Token Prefix
+ |--------------------------------------------------------------------------
+ |
+ | Sanctum can prefix new tokens in order to take advantage of numerous
+ | security scanning initiatives maintained by open source platforms
+ | that notify developers if they commit tokens into repositories.
+ |
+ | See: https://docs.github.com/en/code-security/secret-scanning/about-secret-scanning
+ |
+ */
+
+ 'token_prefix' => env('SANCTUM_TOKEN_PREFIX', ''),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Sanctum Middleware
+ |--------------------------------------------------------------------------
+ |
+ | When authenticating your first-party SPA with Sanctum you may need to
+ | customize some of the middleware Sanctum uses while processing the
+ | request. You may change the middleware listed below as required.
+ |
+ */
+
+ 'middleware' => [
+ 'authenticate_session' => Laravel\Sanctum\Http\Middleware\AuthenticateSession::class,
+ 'encrypt_cookies' => Illuminate\Cookie\Middleware\EncryptCookies::class,
+ 'validate_csrf_token' => Illuminate\Foundation\Http\Middleware\ValidateCsrfToken::class,
+ ],
+
+];
diff --git a/config/schedule.php b/config/schedule.php
deleted file mode 100644
index fb553c60d..000000000
--- a/config/schedule.php
+++ /dev/null
@@ -1,33 +0,0 @@
- [
- 'enabled' => env('SCHEDULE_SHIPMATRIX_ENABLE', true),
- 'at' => [1, 13], //First time, second Time
- ],
-
- 'starmap' => [
- 'enabled' => env('SCHEDULE_STARMAP_ENABLE', true),
- ],
-
- 'comm_links' => [
- 'enabled' => env('SCHEDULE_COMM_LINKS_ENABLE', true),
- 'download_local' => env('SCHEDULE_COMM_LINKS_DOWNLOAD_IMAGES', false),
- ],
-
- 'galactapedia' => [
- 'enabled' => env('SCHEDULE_GALACTAPEDIA_ENABLE', true),
- 'create_wiki_pages' => env('SCHEDULE_GALACTAPEDIA_ENABLE_WIKI_PAGES', true),
- ],
-];
diff --git a/config/services.php b/config/services.php
index 508ff2cf6..a05da5439 100644
--- a/config/services.php
+++ b/config/services.php
@@ -1,7 +1,5 @@
[
- 'domain' => env('MAILGUN_DOMAIN'),
- 'secret' => env('MAILGUN_SECRET'),
- ],
-
- 'mediawiki' => [
- 'client_id' => env('WIKI_OAUTH_ID'),
- 'client_secret' => env('WIKI_OAUTH_SECRET'),
- 'url' => env('WIKI_URL'),
- ],
-
- 'wiki_translations' => [
- 'locale' => env('WIKI_TRANS_LOCALE', 'de_DE'),
- 'create_english_subpage' => env('WIKI_TRANS_CREATE_ENGLISH_SUBPAGE'),
-
- 'consumer_token' => env('WIKI_TRANS_OAUTH_CONSUMER_TOKEN'),
- 'consumer_secret' => env('WIKI_TRANS_OAUTH_CONSUMER_SECRET'),
-
- 'access_token' => env('WIKI_TRANS_OAUTH_ACCESS_TOKEN'),
- 'access_secret' => env('WIKI_TRANS_OAUTH_ACCESS_SECRET'),
- ],
-
- 'wiki_approve_revs' => [
- 'consumer_token' => env('WIKI_APPROVE_REVS_OAUTH_CONSUMER_TOKEN'),
- 'consumer_secret' => env('WIKI_APPROVE_REVS_CONSUMER_SECRET'),
-
- 'access_token' => env('WIKI_APPROVE_REVS_ACCESS_TOKEN'),
- 'access_secret' => env('WIKI_APPROVE_REVS_ACCESS_SECRET'),
- ],
-
- 'wiki_upload_image' => [
- 'consumer_token' => env('WIKI_UPLOAD_IMAGE_CONSUMER_TOKEN'),
- 'consumer_secret' => env('WIKI_UPLOAD_IMAGE_CONSUMER_SECRET'),
-
- 'access_token' => env('WIKI_UPLOAD_IMAGE_ACCESS_TOKEN'),
- 'access_secret' => env('WIKI_UPLOAD_IMAGE_ACCESS_SECRET'),
- ],
+ 'rsi_url' => env('RSI_URL', 'https://robertsspaceindustries.com'),
'deepl' => [
- 'target_locale' => env('DEEPL_TARGET_LOCALE', 'DE'),
- 'auth_key' => env('DEEPL_AUTH_KEY', ''),
- ],
-
- 'rsi_account' => [
- 'username' => env('RSI_USERNAME'),
- 'password' => env('RSI_PASSWORD'),
- ],
-
- 'item_thumbnail_url' => env('ITEM_THUMBNAIL_URL'),
-
- 'plausible' => [
- 'enabled' => env('PLAUSIBLE_ENABLED', false),
- 'domain' => env('PLAUSIBLE_DOMAIN'),
- ],
-
- 'wiki_pages' => [
- 'refname' => env('WIKI_PAGE_REFNAME'),
- 'version' => env('WIKI_PAGE_VERSION'),
+ 'auth_key' => env('DEEPL_AUTH_KEY'),
],
];
diff --git a/config/session.php b/config/session.php
index 5de4e560e..bc45901e5 100644
--- a/config/session.php
+++ b/config/session.php
@@ -1,5 +1,7 @@
120,
+ 'lifetime' => (int) env('SESSION_LIFETIME', 120),
- 'expire_on_close' => true,
+ 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false),
/*
|--------------------------------------------------------------------------
@@ -39,21 +42,21 @@
|--------------------------------------------------------------------------
|
| This option allows you to easily specify that all of your session data
- | should be encrypted before it is stored. All encryption will be run
- | automatically by Laravel and you can use the Session like normal.
+ | should be encrypted before it's stored. All encryption is performed
+ | automatically by Laravel and you may use the session like normal.
|
*/
- 'encrypt' => true,
+ 'encrypt' => env('SESSION_ENCRYPT', false),
/*
|--------------------------------------------------------------------------
| Session File Location
|--------------------------------------------------------------------------
|
- | When using the native session driver, we need a location where session
- | files may be stored. A default has been set for you but a different
- | location may be specified. This is only needed for file sessions.
+ | When utilizing the "file" session driver, the session files are placed
+ | on disk. The default storage location is defined here; however, you
+ | are free to provide another location where they should be stored.
|
*/
@@ -70,33 +73,35 @@
|
*/
- 'connection' => null,
+ 'connection' => env('SESSION_CONNECTION'),
/*
|--------------------------------------------------------------------------
| Session Database Table
|--------------------------------------------------------------------------
|
- | When using the "database" session driver, you may specify the table we
- | should use to manage the sessions. Of course, a sensible default is
- | provided for you; however, you are free to change this as needed.
+ | When using the "database" session driver, you may specify the table to
+ | be used to store sessions. Of course, a sensible default is defined
+ | for you; however, you're welcome to change this to another table.
|
*/
- 'table' => 'sessions',
+ 'table' => env('SESSION_TABLE', 'sessions'),
/*
|--------------------------------------------------------------------------
| Session Cache Store
|--------------------------------------------------------------------------
|
- | When using the "apc" or "memcached" session drivers, you may specify a
- | cache store that should be used for these sessions. This value must
- | correspond with one of the application's configured cache stores.
+ | When using one of the framework's cache driven session backends, you may
+ | define the cache store which should be used to store the session data
+ | between requests. This must match one of your defined cache stores.
+ |
+ | Affects: "dynamodb", "memcached", "redis"
|
*/
- 'store' => null,
+ 'store' => env('SESSION_STORE'),
/*
|--------------------------------------------------------------------------
@@ -116,13 +121,16 @@
| Session Cookie Name
|--------------------------------------------------------------------------
|
- | Here you may change the name of the cookie used to identify a session
- | instance by ID. The name specified here will get used every time a
- | new session cookie is created by the framework for every driver.
+ | Here you may change the name of the session cookie that is created by
+ | the framework. Typically, you should not need to change this value
+ | since doing so does not grant a meaningful security improvement.
|
*/
- 'cookie' => 'wikiapi_session',
+ 'cookie' => env(
+ 'SESSION_COOKIE',
+ Str::slug((string) env('APP_NAME', 'laravel')).'-session'
+ ),
/*
|--------------------------------------------------------------------------
@@ -131,24 +139,24 @@
|
| The session cookie path determines the path for which the cookie will
| be regarded as available. Typically, this will be the root path of
- | your application but you are free to change this when necessary.
+ | your application, but you're free to change this when necessary.
|
*/
- 'path' => '/',
+ 'path' => env('SESSION_PATH', '/'),
/*
|--------------------------------------------------------------------------
| Session Cookie Domain
|--------------------------------------------------------------------------
|
- | Here you may change the domain of the cookie used to identify a session
- | in your application. This will determine which domains the cookie is
- | available to in your application. A sensible default has been set.
+ | This value determines the domain and subdomains the session cookie is
+ | available to. By default, the cookie will be available to the root
+ | domain and all subdomains. Typically, this shouldn't be changed.
|
*/
- 'domain' => env('SESSION_DOMAIN', null),
+ 'domain' => env('SESSION_DOMAIN'),
/*
|--------------------------------------------------------------------------
@@ -157,11 +165,11 @@
|
| By setting this option to true, session cookies will only be sent back
| to the server if the browser has a HTTPS connection. This will keep
- | the cookie from being sent to you if it can not be done securely.
+ | the cookie from being sent to you when it can't be done securely.
|
*/
- 'secure' => env('SESSION_SECURE_COOKIE', null),
+ 'secure' => env('SESSION_SECURE_COOKIE'),
/*
|--------------------------------------------------------------------------
@@ -170,10 +178,40 @@
|
| Setting this value to true will prevent JavaScript from accessing the
| value of the cookie and the cookie will only be accessible through
- | the HTTP protocol. You are free to modify this option if needed.
+ | the HTTP protocol. It's unlikely you should disable this option.
+ |
+ */
+
+ 'http_only' => env('SESSION_HTTP_ONLY', true),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Same-Site Cookies
+ |--------------------------------------------------------------------------
+ |
+ | This option determines how your cookies behave when cross-site requests
+ | take place, and can be used to mitigate CSRF attacks. By default, we
+ | will set this value to "lax" to permit secure cross-site requests.
+ |
+ | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
+ |
+ | Supported: "lax", "strict", "none", null
+ |
+ */
+
+ 'same_site' => env('SESSION_SAME_SITE', 'lax'),
+
+ /*
+ |--------------------------------------------------------------------------
+ | Partitioned Cookies
+ |--------------------------------------------------------------------------
+ |
+ | Setting this value to true will tie the cookie to the top-level site for
+ | a cross-site context. Partitioned cookies are accepted by the browser
+ | when flagged "secure" and the Same-Site attribute is set to "none".
|
*/
- 'http_only' => true,
+ 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false),
];
diff --git a/config/sorts/items.php b/config/sorts/items.php
new file mode 100644
index 000000000..e9c41d5a1
--- /dev/null
+++ b/config/sorts/items.php
@@ -0,0 +1,448 @@
+ ['path' => 'Mass', 'cast' => 'numeric'],
+ 'dimension.volume_converted' => ['path' => 'InventoryOccupancy.Volume.SCUConverted', 'cast' => 'numeric'],
+ 'inventory.scu_converted' => ['path' => 'InventoryContainer.SCU', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // DURABILITY & DISTORTION
+ // =====================================================================
+ 'durability.health' => ['path' => 'Durability.Health', 'cast' => 'numeric'],
+ 'distortion.maximum' => ['path' => 'Distortion.Maximum', 'cast' => 'numeric'],
+ 'distortion.shutdown_time' => ['path' => 'Distortion.ShutdownTime', 'cast' => 'numeric'],
+ 'distortion.decay_rate' => ['path' => 'Distortion.DecayRate', 'cast' => 'numeric'],
+ 'distortion.decay_delay' => ['path' => 'Distortion.DecayDelay', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // POWER & RESOURCE NETWORK
+ // =====================================================================
+ 'resource_network.usage.power.minimum' => ['path' => 'ResourceNetwork.Usage.Power.Minimum', 'cast' => 'numeric'],
+ 'resource_network.usage.power.maximum' => ['path' => 'ResourceNetwork.Usage.Power.Maximum', 'cast' => 'numeric'],
+ 'resource_network.usage.coolant.minimum' => ['path' => 'ResourceNetwork.Usage.Coolant.Minimum', 'cast' => 'numeric'],
+ 'resource_network.usage.coolant.maximum' => ['path' => 'ResourceNetwork.Usage.Coolant.Maximum', 'cast' => 'numeric'],
+ 'resource_network.generation.coolant' => ['path' => 'ResourceNetwork.Generation.Coolant', 'cast' => 'numeric'],
+ 'resource_network.generation.power' => ['path' => 'ResourceNetwork.Generation.Power', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // EMISSION & SIGNATURE
+ // =====================================================================
+ 'emission.em_min' => ['path' => 'Emission.Em.Minimum', 'cast' => 'numeric'],
+ 'emission.em_max' => ['path' => 'Emission.Em.Maximum', 'cast' => 'numeric'],
+ 'emission.em_per_segment' => ['path' => 'Emission.Em.PerSegment', 'cast' => 'numeric'],
+ 'emission.ir' => ['path' => 'Emission.Ir', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // ARMOR
+ // =====================================================================
+ 'armor.signal_multiplier.cross_section_change' => ['path' => 'Armor.SignalMultipliers.CrossSection', 'cast' => 'numeric'],
+ 'armor.signal_multiplier.infrared_change' => ['path' => 'Armor.SignalMultipliers.Infrared', 'cast' => 'numeric'],
+ 'armor.signal_multiplier.electromagnetic_change' => ['path' => 'Armor.SignalMultipliers.Electromagnetic', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // BOMB / EXPLOSIVES
+ // =====================================================================
+ 'bomb.damage_total' => ['path' => 'Bomb.DamageTotal', 'cast' => 'numeric'],
+ 'bomb.explosion.radius_min' => ['path' => 'Bomb.ExplosionMinRadius', 'cast' => 'numeric'],
+ 'bomb.explosion.radius_max' => ['path' => 'Bomb.ExplosionMaxRadius', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // AMMUNITION
+ // =====================================================================
+ 'ammunition.capacity' => ['path' => 'Ammunition.Capacity', 'cast' => 'numeric'],
+ 'ammunition.speed' => ['path' => 'Ammunition.Speed', 'cast' => 'numeric'],
+ 'ammunition.range' => ['path' => 'Ammunition.Range', 'cast' => 'numeric'],
+ 'ammunition.lifetime' => ['path' => 'Ammunition.Lifetime', 'cast' => 'numeric'],
+ 'ammunition.penetration.base_distance' => ['path' => 'Ammunition.Penetration.BasePenetrationDistance', 'cast' => 'numeric'],
+ 'ammunition.penetration.near_radius' => ['path' => 'Ammunition.Penetration.NearRadius', 'cast' => 'numeric'],
+ 'ammunition.penetration.far_radius' => ['path' => 'Ammunition.Penetration.FarRadius', 'cast' => 'numeric'],
+ 'ammunition.explosion_radius.min' => ['path' => 'Ammunition.ExplosionRadius.Minimum', 'cast' => 'numeric'],
+ 'ammunition.explosion_radius.max' => ['path' => 'Ammunition.ExplosionRadius.Maximum', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // EMP
+ // =====================================================================
+ 'emp.distortion_damage' => ['path' => 'Emp.DistortionDamage', 'cast' => 'numeric'],
+ 'emp.min_emp_radius' => ['path' => 'Emp.MinEmpRadius', 'cast' => 'numeric'],
+ 'emp.emp_radius' => ['path' => 'Emp.EmpRadius', 'cast' => 'numeric'],
+ 'emp.charge_duration' => ['path' => 'Emp.ChargeTime', 'cast' => 'numeric'],
+ 'emp.unleash_duration' => ['path' => 'Emp.UnleashTime', 'cast' => 'numeric'],
+ 'emp.cooldown_duration' => ['path' => 'Emp.CooldownTime', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // FLIGHT CONTROLLER / IFCS
+ // =====================================================================
+ 'flight_controller.scm_speed' => ['path' => 'Ifcs.ScmSpeed', 'cast' => 'numeric'],
+ 'flight_controller.max_speed' => ['path' => 'Ifcs.MaxSpeed', 'cast' => 'numeric'],
+ 'flight_controller.boost_speed_forward' => ['path' => 'Ifcs.BoostSpeedForward', 'cast' => 'numeric'],
+ 'flight_controller.boost_speed_backward' => ['path' => 'Ifcs.BoostSpeedBackward', 'cast' => 'numeric'],
+ 'flight_controller.pitch' => ['path' => 'Ifcs.Pitch', 'cast' => 'numeric'],
+ 'flight_controller.yaw' => ['path' => 'Ifcs.Yaw', 'cast' => 'numeric'],
+ 'flight_controller.roll' => ['path' => 'Ifcs.Roll', 'cast' => 'numeric'],
+ 'flight_controller.pitch_boosted' => ['path' => 'Ifcs.PitchBoosted', 'cast' => 'numeric'],
+ 'flight_controller.yaw_boosted' => ['path' => 'Ifcs.YawBoosted', 'cast' => 'numeric'],
+ 'flight_controller.roll_boosted' => ['path' => 'Ifcs.RollBoosted', 'cast' => 'numeric'],
+ 'flight_controller.thruster_decay.linear_accel' => ['path' => 'Ifcs.LinearAccelDecay', 'cast' => 'numeric'],
+ 'flight_controller.thruster_decay.angular_accel' => ['path' => 'Ifcs.AngularAccelDecay', 'cast' => 'numeric'],
+ 'flight_controller.multiplier.lift' => ['path' => 'Ifcs.LiftMultiplier', 'cast' => 'numeric'],
+ 'flight_controller.multiplier.drag' => ['path' => 'Ifcs.DragMultiplier', 'cast' => 'numeric'],
+ 'flight_controller.multiplier.scm_max_drag' => ['path' => 'Ifcs.ScmMaxDragMultiplier', 'cast' => 'numeric'],
+ 'flight_controller.multiplier.torque_imbalance' => ['path' => 'Ifcs.TorqueImbalanceMultiplier', 'cast' => 'numeric'],
+ 'flight_controller.multiplier.precision_landing' => ['path' => 'Ifcs.PrecisionLandingMultiplier', 'cast' => 'numeric'],
+
+ // Afterburner
+ 'flight_controller.boost_activation.pre_delay_time' => ['path' => 'Ifcs.Afterburner.AfterburnerPreDelayTime', 'cast' => 'numeric'],
+ 'flight_controller.boost_activation.ramp_up_time' => ['path' => 'Ifcs.Afterburner.AfterburnerRampUpTime', 'cast' => 'numeric'],
+ 'flight_controller.boost_activation.ramp_down_time' => ['path' => 'Ifcs.Afterburner.AfterburnerRampDownTime', 'cast' => 'numeric'],
+ 'flight_controller.boost_capacitor.capacity' => ['path' => 'Ifcs.Afterburner.CapacitorMax', 'cast' => 'numeric'],
+
+ // Gravlev
+ 'flight_controller.gravlev.max_speed' => ['path' => 'Ifcs.Gravlev.HoverMaxSpeed', 'cast' => 'numeric'],
+ 'flight_controller.gravlev.turn_friction' => ['path' => 'Ifcs.Gravlev.TurnFriction', 'cast' => 'numeric'],
+ 'flight_controller.gravlev.air_controller_multiplier' => ['path' => 'Ifcs.Gravlev.AirControllerMultiplier', 'cast' => 'numeric'],
+ 'flight_controller.gravlev.anti_fall_multiplier' => ['path' => 'Ifcs.Gravlev.AntiFallMultiplier', 'cast' => 'numeric'],
+ 'flight_controller.gravlev.lateral_strafe_multiplier' => ['path' => 'Ifcs.Gravlev.LateralStrafeMultiplier', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // JUMP DRIVE
+ // =====================================================================
+ 'jump_drive.alignment_rate' => ['path' => 'JumpDrive.AlignmentRate', 'cast' => 'numeric'],
+ 'jump_drive.alignment_decay_rate' => ['path' => 'JumpDrive.AlignmentDecayRate', 'cast' => 'numeric'],
+ 'jump_drive.tuning_rate' => ['path' => 'JumpDrive.TuningRate', 'cast' => 'numeric'],
+ 'jump_drive.tuning_decay_rate' => ['path' => 'JumpDrive.TuningDecayRate', 'cast' => 'numeric'],
+ 'jump_drive.fuel_usage_efficiency_multiplier' => ['path' => 'JumpDrive.FuelUsageEfficiencyMultiplier', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // QUANTUM DRIVE
+ // =====================================================================
+ 'quantum_drive.fuel_consumption_scu_per_gm' => ['path' => 'QuantumDrive.FuelConsumptionSCUPerGM', 'cast' => 'numeric'],
+ 'quantum_drive.fuel_efficiency' => ['path' => 'QuantumDrive.FuelEfficiencyGMPerSCU', 'cast' => 'numeric'],
+ 'quantum_drive.travel_time_10gm.formatted' => ['path' => 'QuantumDrive.TravelTime10GMSeconds', 'cast' => 'numeric'],
+ 'quantum_drive.standard_jump.spool_up_time' => ['path' => 'QuantumDrive.StandardJump.SpoolUpTime', 'cast' => 'numeric'],
+ 'quantum_drive.standard_jump.cooldown_time' => ['path' => 'QuantumDrive.StandardJump.CooldownTime', 'cast' => 'numeric'],
+ 'quantum_drive.standard_jump.interdiction_effect_time' => ['path' => 'QuantumDrive.StandardJump.InterdictionEffectTime', 'cast' => 'numeric'],
+ 'quantum_drive.standard_jump.calibration_delay_in_seconds' => ['path' => 'QuantumDrive.StandardJump.CalibrationDelayInSeconds', 'cast' => 'numeric'],
+ 'quantum_drive.standard_jump.drive_speed' => ['path' => 'QuantumDrive.StandardJump.DriveSpeed', 'cast' => 'numeric'],
+ 'quantum_drive.standard_jump.stage_one_accel_rate' => ['path' => 'QuantumDrive.StandardJump.StageOneAccelRate', 'cast' => 'numeric'],
+ 'quantum_drive.standard_jump.stage_two_accel_rate' => ['path' => 'QuantumDrive.StandardJump.StageTwoAccelRate', 'cast' => 'numeric'],
+ 'quantum_drive.spline_jump.drive_speed' => ['path' => 'QuantumDrive.SplineJump.DriveSpeed', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // QUANTUM INTERDICTION GENERATOR
+ // =====================================================================
+ 'quantum_interdiction_generator.jammer_range' => ['path' => 'QuantumInterdictionGenerator.JammingRange', 'cast' => 'numeric'],
+ 'quantum_interdiction_generator.interdiction_range' => ['path' => 'QuantumInterdictionGenerator.InterdictionRange', 'cast' => 'numeric'],
+ 'quantum_interdiction_generator.charge_duration' => ['path' => 'QuantumInterdictionGenerator.Pulse.ChargeTimeSecs', 'cast' => 'numeric'],
+ 'quantum_interdiction_generator.activation_duration' => ['path' => 'QuantumInterdictionGenerator.Pulse.ActivationPhaseDurationSeconds', 'cast' => 'numeric'],
+ 'quantum_interdiction_generator.disperse_charge_duration' => ['path' => 'QuantumInterdictionGenerator.Pulse.DisperseChargeTimeSeconds', 'cast' => 'numeric'],
+ 'quantum_interdiction_generator.discharge_duration' => ['path' => 'QuantumInterdictionGenerator.Pulse.DischargeTimeSecs', 'cast' => 'numeric'],
+ 'quantum_interdiction_generator.cooldown_duration' => ['path' => 'QuantumInterdictionGenerator.Pulse.CooldownTimeSecs', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // MISSILE & MISSILE RACK
+ // =====================================================================
+ 'missile.signal_type' => ['path' => 'Missile.Targeting.TrackingSignalType', 'cast' => 'text'],
+ 'missile.tracking_signal_min' => ['path' => 'Missile.Targeting.TrackingSignalMin', 'cast' => 'numeric'],
+ 'missile.target_lock.signal_resilience_max' => ['path' => 'Missile.Targeting.SignalResilienceMax', 'cast' => 'numeric'],
+ 'missile.delays.arm_time' => ['path' => 'Missile.ArmTime', 'cast' => 'numeric'],
+ 'missile.delays.lock_time' => ['path' => 'Missile.Targeting.LockTime', 'cast' => 'numeric'],
+ 'missile.target_lock.range_min' => ['path' => 'Missile.Targeting.LockRangeMin', 'cast' => 'numeric'],
+ 'missile.target_lock.range_max' => ['path' => 'Missile.Targeting.LockRangeMax', 'cast' => 'numeric'],
+ 'missile.target_lock.angle' => ['path' => 'Missile.Targeting.LockingAngle', 'cast' => 'numeric'],
+ 'missile.target_lock.allow_dumb_firing' => ['path' => 'Missile.Targeting.AllowDumbFiring', 'cast' => 'text'],
+ 'missile.damage_total' => ['path' => 'Missile.DamageTotal', 'cast' => 'numeric'],
+ 'missile.explosion.radius_min' => ['path' => 'Missile.ExplosionRadius.Minimum', 'cast' => 'numeric'],
+ 'missile.explosion.radius_max' => ['path' => 'Missile.ExplosionRadius.Maximum', 'cast' => 'numeric'],
+ 'missile.flight.speed' => ['path' => 'Missile.GCS.LinearSpeed', 'cast' => 'numeric'],
+ 'missile.flight.range' => ['path' => 'Missile.Distance', 'cast' => 'numeric'],
+ 'missile.flight.max_lifetime' => ['path' => 'Missile.MaxLifetime', 'cast' => 'numeric'],
+ 'missile.flight.boost_phase_duration' => ['path' => 'Missile.GCS.BoostPhaseDuration', 'cast' => 'numeric'],
+ 'missile.flight.terminal_phase_engagement_time' => ['path' => 'Missile.GCS.TerminalPhaseEngagementTime', 'cast' => 'numeric'],
+ 'missile.flight.terminal_phase_engagement_angle' => ['path' => 'Missile.GCS.TerminalPhaseEngagementAngle', 'cast' => 'numeric'],
+ 'missile.flight.intercept_speed' => ['path' => 'Missile.GCS.InterceptSpeed', 'cast' => 'numeric'],
+ 'missile.flight.terminal_speed' => ['path' => 'Missile.GCS.TerminalSpeed', 'cast' => 'numeric'],
+ 'missile.flight.boost_speed' => ['path' => 'Missile.GCS.BoostSpeed', 'cast' => 'numeric'],
+ 'missile_rack.missile_count' => ['path' => 'MissileRack.MissileCount', 'cast' => 'numeric'],
+ 'missile_rack.missile_size' => ['path' => 'MissileRack.MissileSize', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // RADAR
+ // =====================================================================
+ 'radar.sensitivity.infrared' => ['path' => 'Radar.Sensitivity.IR', 'cast' => 'numeric'],
+ 'radar.sensitivity.cross_section' => ['path' => 'Radar.Sensitivity.CS', 'cast' => 'numeric'],
+ 'radar.sensitivity.electromagnetic' => ['path' => 'Radar.Sensitivity.EM', 'cast' => 'numeric'],
+ 'radar.sensitivity.resource' => ['path' => 'Radar.Sensitivity.RS', 'cast' => 'numeric'],
+ 'radar.sensitivity.db' => ['path' => 'Radar.Sensitivity.dB', 'cast' => 'numeric'],
+ 'radar.ground_vehicle_sensitivity.infrared' => ['path' => 'Radar.GroundVehicleSensitivity.IR', 'cast' => 'numeric'],
+ 'radar.ground_vehicle_sensitivity.cross_section' => ['path' => 'Radar.GroundVehicleSensitivity.CS', 'cast' => 'numeric'],
+ 'radar.ground_vehicle_sensitivity.electromagnetic' => ['path' => 'Radar.GroundVehicleSensitivity.EM', 'cast' => 'numeric'],
+ 'radar.ground_vehicle_sensitivity.resource' => ['path' => 'Radar.GroundVehicleSensitivity.RS', 'cast' => 'numeric'],
+ 'radar.ground_vehicle_sensitivity.db' => ['path' => 'Radar.GroundVehicleSensitivity.dB', 'cast' => 'numeric'],
+ 'radar.piercing.infrared' => ['path' => 'Radar.Piercing.IR', 'cast' => 'numeric'],
+ 'radar.piercing.cross_section' => ['path' => 'Radar.Piercing.CS', 'cast' => 'numeric'],
+ 'radar.piercing.electromagnetic' => ['path' => 'Radar.Piercing.EM', 'cast' => 'numeric'],
+ 'radar.piercing.resource' => ['path' => 'Radar.Piercing.RS', 'cast' => 'numeric'],
+ 'radar.piercing.db' => ['path' => 'Radar.Piercing.dB', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // WEAPON GUN (Hardpoint Weapons)
+ // =====================================================================
+ 'vehicle_weapon.rpm' => ['path' => 'Weapon.RateOfFire', 'cast' => 'numeric'],
+ 'vehicle_weapon.pellets_per_shot' => ['path' => 'Weapon.PelletsPerShot', 'cast' => 'numeric'],
+
+ // Weapon Damage
+ 'vehicle_weapon.damage.alpha.physical' => ['path' => 'Weapon.Damage.Alpha.Physical', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.alpha.energy' => ['path' => 'Weapon.Damage.Alpha.Energy', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.alpha.distortion' => ['path' => 'Weapon.Damage.Alpha.Distortion', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.alpha.stun' => ['path' => 'Weapon.Damage.Alpha.Stun', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.alpha_total' => ['path' => 'Weapon.Damage.AlphaTotal', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.maximum' => ['path' => 'Weapon.Damage.Maximum', 'cast' => 'text'],
+ 'vehicle_weapon.damage.dps.physical' => ['path' => 'Weapon.Damage.Dps.Physical', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.dps.energy' => ['path' => 'Weapon.Damage.Dps.Energy', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.dps.distortion' => ['path' => 'Weapon.Damage.Dps.Distortion', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.dps.stun' => ['path' => 'Weapon.Damage.Dps.Stun', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.dps_total' => ['path' => 'Weapon.Damage.DpsTotal', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.burst' => ['path' => 'Weapon.Damage.Burst', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.max_per_mag' => ['path' => 'Weapon.Damage.MaxPerMag', 'cast' => 'numeric'],
+ 'vehicle_weapon.damage.sustained_60s' => ['path' => 'Weapon.Damage.Sustained60s', 'cast' => 'numeric'],
+
+ // Weapon Heat
+ 'vehicle_weapon.heat.per_shot' => ['path' => 'Weapon.Heat.HeatPerShot', 'cast' => 'numeric'],
+ 'vehicle_weapon.heat.overheat_max_time' => ['path' => 'Weapon.Heat.TimeToOverheat', 'cast' => 'numeric'],
+ 'vehicle_weapon.heat.overheat_max_shots' => ['path' => 'Weapon.Heat.ShotsToOverheat', 'cast' => 'numeric'],
+ 'vehicle_weapon.heat.overheat_cooldown' => ['path' => 'Weapon.Heat.OverheatFixTime', 'cast' => 'numeric'],
+ 'vehicle_weapon.heat.cooling_delay' => ['path' => 'Weapon.Heat.CoolingDelay', 'cast' => 'numeric'],
+ 'vehicle_weapon.heat.cooling_per_second' => ['path' => 'Weapon.Heat.CoolingPerSecond', 'cast' => 'numeric'],
+
+ // Weapon Spread
+ 'vehicle_weapon.spread.minimum' => ['path' => 'Weapon.Spread.Minimum', 'cast' => 'numeric'],
+ 'vehicle_weapon.spread.maximum' => ['path' => 'Weapon.Spread.Maximum', 'cast' => 'numeric'],
+ 'vehicle_weapon.spread.first_attack' => ['path' => 'Weapon.Spread.FirstAttack', 'cast' => 'numeric'],
+ 'vehicle_weapon.spread.per_attack' => ['path' => 'Weapon.Spread.Attack', 'cast' => 'numeric'],
+
+ // Weapon Charge
+ 'vehicle_weapon.charge.time' => ['path' => 'Weapon.Charge.ChargeTime', 'cast' => 'numeric'],
+ 'vehicle_weapon.charge.overcharge' => ['path' => 'Weapon.Charge.OverchargeTime', 'cast' => 'numeric'],
+ 'vehicle_weapon.charge.overcharged' => ['path' => 'Weapon.Charge.OverchargedTime', 'cast' => 'numeric'],
+ 'vehicle_weapon.charge.cooldown' => ['path' => 'Weapon.Charge.CooldownTime', 'cast' => 'numeric'],
+
+ // Weapon Capacitor
+ 'vehicle_weapon.capacitor.max_ammo_load' => ['path' => 'Weapon.Capacitor.MaxAmmoLoad', 'cast' => 'numeric'],
+ 'vehicle_weapon.capacitor.regen_per_sec' => ['path' => 'Weapon.Capacitor.MaxRegenPerSec', 'cast' => 'numeric'],
+ 'vehicle_weapon.capacitor.cooldown_time' => ['path' => 'Weapon.Capacitor.Cooldown', 'cast' => 'numeric'],
+
+ // Weapon Charge Modifier
+ 'vehicle_weapon.charge_modifier.damage' => ['path' => 'Weapon.ChargeModifier.Damage', 'cast' => 'numeric'],
+ 'vehicle_weapon.charge_modifier.ammo_speed' => ['path' => 'Weapon.ChargeModifier.AmmoSpeed', 'cast' => 'numeric'],
+ 'vehicle_weapon.charge_modifier.fire_rate' => ['path' => 'Weapon.ChargeModifier.FireRate', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // WEAPONS PERSONAL (FPS Personal)
+ // =====================================================================
+ 'personal_weapon.rpm' => ['path' => 'Weapon.RateOfFire', 'cast' => 'numeric'],
+ 'personal_weapon.pellets_per_shot' => ['path' => 'Weapon.PelletsPerShot', 'cast' => 'numeric'],
+
+ // Weapon Damage
+ 'personal_weapon.damage.alpha.physical' => ['path' => 'Weapon.Damage.Alpha.Physical', 'cast' => 'numeric'],
+ 'personal_weapon.damage.alpha.energy' => ['path' => 'Weapon.Damage.Alpha.Energy', 'cast' => 'numeric'],
+ 'personal_weapon.damage.alpha.distortion' => ['path' => 'Weapon.Damage.Alpha.Distortion', 'cast' => 'numeric'],
+ 'personal_weapon.damage.alpha.stun' => ['path' => 'Weapon.Damage.Alpha.Stun', 'cast' => 'numeric'],
+ 'personal_weapon.damage.alpha_total' => ['path' => 'Weapon.Damage.AlphaTotal', 'cast' => 'numeric'],
+ 'personal_weapon.damage.dps.physical' => ['path' => 'Weapon.Damage.Dps.Physical', 'cast' => 'numeric'],
+ 'personal_weapon.damage.dps.energy' => ['path' => 'Weapon.Damage.Dps.Energy', 'cast' => 'numeric'],
+ 'personal_weapon.damage.dps.distortion' => ['path' => 'Weapon.Damage.Dps.Distortion', 'cast' => 'numeric'],
+ 'personal_weapon.damage.dps.stun' => ['path' => 'Weapon.Damage.Dps.Stun', 'cast' => 'numeric'],
+ 'personal_weapon.damage.dps_total' => ['path' => 'Weapon.Damage.DpsTotal', 'cast' => 'numeric'],
+ 'personal_weapon.damage.burst' => ['path' => 'Weapon.Damage.Burst', 'cast' => 'numeric'],
+ 'personal_weapon.damage.maximum' => ['path' => 'Weapon.Damage.MaxPerMag', 'cast' => 'numeric'],
+
+ // Weapon Spread
+ 'personal_weapon.spread.minimum' => ['path' => 'Weapon.Spread.Minimum', 'cast' => 'numeric'],
+ 'personal_weapon.spread.maximum' => ['path' => 'Weapon.Spread.Maximum', 'cast' => 'numeric'],
+ 'personal_weapon.spread.first_attack' => ['path' => 'Weapon.Spread.FirstAttack', 'cast' => 'numeric'],
+ 'personal_weapon.spread.per_attack' => ['path' => 'Weapon.Spread.Attack', 'cast' => 'numeric'],
+ 'personal_weapon.ads_spread.minimum' => ['path' => 'Weapon.AdsSpread.Minimum', 'cast' => 'numeric'],
+ 'personal_weapon.ads_spread.maximum' => ['path' => 'Weapon.AdsSpread.Maximum', 'cast' => 'numeric'],
+ 'personal_weapon.ads_spread.first_attack' => ['path' => 'Weapon.AdsSpread.FirstAttack', 'cast' => 'numeric'],
+ 'personal_weapon.ads_spread.per_attack' => ['path' => 'Weapon.AdsSpread.Attack', 'cast' => 'numeric'],
+
+ // Weapon Charge
+ 'personal_weapon.charge.charge_duration' => ['path' => 'Weapon.Charge.ChargeTime', 'cast' => 'numeric'],
+ 'personal_weapon.charge.overcharge_time' => ['path' => 'Weapon.Charge.OverchargeTime', 'cast' => 'numeric'],
+ 'personal_weapon.charge.overcharged_duration' => ['path' => 'Weapon.Charge.OverchargedTime', 'cast' => 'numeric'],
+ 'personal_weapon.charge.cooldown_time' => ['path' => 'Weapon.Charge.CooldownTime', 'cast' => 'numeric'],
+
+ // Weapon Charge Modifier
+ 'personal_weapon.charge_modifier.damage' => ['path' => 'Weapon.ChargeModifier.Damage', 'cast' => 'numeric'],
+ 'personal_weapon.charge_modifier.ammo_speed' => ['path' => 'Weapon.ChargeModifier.AmmoSpeed', 'cast' => 'numeric'],
+ 'personal_weapon.charge_modifier.fire_rate' => ['path' => 'Weapon.ChargeModifier.FireRate', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // WEAPON DEFENSIVE
+ // =====================================================================
+ 'counter_measure.type' => ['path' => 'WeaponDefensive.Type', 'cast' => 'text'],
+ 'counter_measure.signature.cross_section' => ['path' => 'WeaponDefensive.Signatures.CrossSection.End', 'cast' => 'numeric'],
+ 'counter_measure.signature.infrared' => ['path' => 'WeaponDefensive.Signatures.Infrared.End', 'cast' => 'numeric'],
+ 'counter_measure.signature.electromagnetic' => ['path' => 'WeaponDefensive.Signatures.Electromagnetic.End', 'cast' => 'numeric'],
+ 'counter_measure.signature.decibel' => ['path' => 'WeaponDefensive.Signatures.Decibel.End', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // WEAPON MODIFIER
+ // =====================================================================
+ 'weapon_modifier.base.damage_change' => ['path' => 'WeaponModifier.WeaponStats.Base.DamageMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.base.projectile_speed_change' => ['path' => 'WeaponModifier.WeaponStats.Base.ProjectileSpeedMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.base.ammo_cost_change' => ['path' => 'WeaponModifier.WeaponStats.Base.AmmoCostMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.base.sound_radius_change' => ['path' => 'WeaponModifier.WeaponStats.Base.SoundRadiusMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.base.muzzle_flash_change' => ['path' => 'WeaponModifier.WeaponStats.Base.MuzzleFlashScale', 'cast' => 'numeric'],
+ 'weapon_modifier.base.heat_generation_change' => ['path' => 'WeaponModifier.WeaponStats.Base.HeatGenerationMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.recoil.multiplier_change' => ['path' => 'WeaponModifier.WeaponStats.Recoil.RandomnessMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.recoil.decay_change' => ['path' => 'WeaponModifier.WeaponStats.Recoil.DecayMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.spread.min_change' => ['path' => 'WeaponModifier.WeaponStats.Spread.MinMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.spread.max_change' => ['path' => 'WeaponModifier.WeaponStats.Spread.MaxMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.spread.first_attack_change' => ['path' => 'WeaponModifier.WeaponStats.Spread.FirstAttackMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.spread.per_attack_change' => ['path' => 'WeaponModifier.WeaponStats.Spread.AttackMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.spread.decay_change' => ['path' => 'WeaponModifier.WeaponStats.Spread.DecayMultiplier', 'cast' => 'numeric'],
+ 'weapon_modifier.aim.second_zoom_scale' => ['path' => 'WeaponModifier.WeaponStats.Aim.SecondZoomScale', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // WEAPON ATTACHMENT - IRON SIGHT
+ // =====================================================================
+ 'iron_sight.default_range' => ['path' => 'WeaponAttachment.IronSight.DefaultRange', 'cast' => 'numeric'],
+ 'iron_sight.max_range' => ['path' => 'WeaponAttachment.IronSight.MaxRange', 'cast' => 'numeric'],
+ 'iron_sight.range_increment' => ['path' => 'WeaponAttachment.IronSight.RangeIncrement', 'cast' => 'numeric'],
+ 'iron_sight.auto_zeroing_time' => ['path' => 'WeaponAttachment.IronSight.AutoZeroingTime', 'cast' => 'numeric'],
+ 'iron_sight.zoom_scale' => ['path' => 'WeaponAttachment.IronSight.ZoomScale', 'cast' => 'numeric'],
+ 'iron_sight.zoom_time_change' => ['path' => 'WeaponAttachment.IronSight.ZoomTimeScale', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // WEAPON ATTACHMENT - LASER POINTER
+ // =====================================================================
+ 'laser_pointer.range' => ['path' => 'WeaponAttachment.LaserPointer.Range', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // SHIELD
+ // =====================================================================
+ 'shield.max_health' => ['path' => 'Shield.MaxShieldHealth', 'cast' => 'numeric'],
+ 'shield.regen_rate' => ['path' => 'Shield.MaxShieldRegen', 'cast' => 'numeric'],
+ 'shield.regen_time' => ['path' => 'Shield.RegenerationTime', 'cast' => 'numeric'],
+ 'shield.regen_delay.damage' => ['path' => 'Shield.DamagedDelay', 'cast' => 'numeric'],
+ 'shield.regen_delay.downed' => ['path' => 'Shield.DownedDelay', 'cast' => 'numeric'],
+ 'shield.reserve_pool.regen_rate' => ['path' => 'Shield.ReservePool.MaxShieldRegen', 'cast' => 'numeric'],
+ 'shield.reserve_pool.regen_time' => ['path' => 'Shield.ReservePool.RegenerationTime', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // SHIELD CONTROLLER
+ // =====================================================================
+ 'shield_controller.face_type' => ['path' => 'ShieldController.FaceType', 'cast' => 'text'],
+ 'shield_controller.max_reallocation' => ['path' => 'ShieldController.MaxReallocation', 'cast' => 'numeric'],
+ 'shield_controller.reconfiguration_cooldown' => ['path' => 'ShieldController.ReconfigurationCooldown', 'cast' => 'numeric'],
+ 'shield_controller.max_electrical_charge_damage_rate' => ['path' => 'ShieldController.MaxElectricalChargeDamageRate', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // MINING LASER
+ // =====================================================================
+ 'mining_laser.optimal_range' => ['path' => 'MiningLaser.OptimalRange', 'cast' => 'numeric'],
+ 'mining_laser.maximum_range' => ['path' => 'MiningLaser.MaximumRange', 'cast' => 'numeric'],
+ 'mining_laser.power_transfer' => ['path' => 'MiningLaser.PowerTransfer', 'cast' => 'numeric'],
+ 'mining_laser.min_power_transfer' => ['path' => 'MiningLaser.MinPowerTransfer', 'cast' => 'numeric'],
+ 'mining_laser.throttle_minimum' => ['path' => 'MiningLaser.ThrottleMinimum', 'cast' => 'numeric'],
+ 'mining_laser.throttle_lerp_speed' => ['path' => 'MiningLaser.ThrottleLerpSpeed', 'cast' => 'numeric'],
+ 'mining_laser.module_slots' => ['path' => 'MiningLaser.ModuleSlots', 'cast' => 'numeric'],
+ 'mining_laser.laser_power.minimum' => ['path' => 'MiningLaser.MinPowerTransfer', 'cast' => 'numeric'],
+ 'mining_laser.laser_power.maximum' => ['path' => 'MiningLaser.PowerTransfer', 'cast' => 'numeric'],
+ 'mining_laser.modifier_map.resistance' => ['path' => 'MiningLaser.Modifiers.Resistance', 'cast' => 'numeric'],
+ 'mining_laser.modifier_map.laser_instability' => ['path' => 'MiningLaser.Modifiers.Instability', 'cast' => 'numeric'],
+ 'mining_laser.modifier_map.optimal_charge_window_size' => ['path' => 'MiningLaser.Modifiers.OptimalChargeWindow', 'cast' => 'numeric'],
+ 'mining_laser.modifier_map.optimal_charge_rate' => ['path' => 'MiningLaser.Modifiers.OptimalChargeRate', 'cast' => 'numeric'],
+ 'mining_laser.modifier_map.inert_materials' => ['path' => 'MiningLaser.Modifiers.InertMaterials', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // MINING MODULE
+ // =====================================================================
+ 'mining_modifier.type' => ['path' => 'MiningModule.Type', 'cast' => 'text'],
+ 'mining_modifier.charges' => ['path' => 'MiningModule.Charges', 'cast' => 'numeric'],
+ 'mining_modifier.duration' => ['path' => 'MiningModule.Lifetime', 'cast' => 'numeric'],
+ 'mining_modifier.power_modifier' => ['path' => 'MiningModule.Modifiers.DamageMultiplierChange', 'cast' => 'numeric'],
+ 'mining_modifier.modifier_map.resistance' => ['path' => 'MiningModule.Modifiers.Resistance', 'cast' => 'numeric'],
+ 'mining_modifier.modifier_map.laser_instability' => ['path' => 'MiningModule.Modifiers.Instability', 'cast' => 'numeric'],
+ 'mining_modifier.modifier_map.optimal_charge_window_size' => ['path' => 'MiningModule.Modifiers.OptimalChargeWindow', 'cast' => 'numeric'],
+ 'mining_modifier.modifier_map.optimal_charge_rate' => ['path' => 'MiningModule.Modifiers.OptimalChargeRate', 'cast' => 'numeric'],
+ 'mining_modifier.modifier_map.shatter_damage' => ['path' => 'MiningModule.Modifiers.ShatterDamage', 'cast' => 'numeric'],
+ 'mining_modifier.modifier_map.cluster_factor' => ['path' => 'MiningModule.Modifiers.ClusterFactor', 'cast' => 'numeric'],
+ 'mining_modifier.modifier_map.overcharge_rate' => ['path' => 'MiningModule.Modifiers.OverchargeRate', 'cast' => 'numeric'],
+ 'mining_modifier.modifier_map.inert_materials' => ['path' => 'MiningModule.Modifiers.InertMaterials', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // TRACTOR BEAM
+ // =====================================================================
+ 'tractor_beam.range.min' => ['path' => 'TractorBeam.MinDistance', 'cast' => 'numeric'],
+ 'tractor_beam.range.max' => ['path' => 'TractorBeam.MaxDistance', 'cast' => 'numeric'],
+ 'tractor_beam.range.max_angle' => ['path' => 'TractorBeam.MaxAngle', 'cast' => 'numeric'],
+ 'tractor_beam.range.max_volume' => ['path' => 'TractorBeam.MaxVolume', 'cast' => 'numeric'],
+ 'tractor_beam.range.full_strength_distance' => ['path' => 'TractorBeam.FullStrengthDistance', 'cast' => 'numeric'],
+ 'tractor_beam.force.min' => ['path' => 'TractorBeam.MinForce', 'cast' => 'numeric'],
+ 'tractor_beam.force.max' => ['path' => 'TractorBeam.MaxForce', 'cast' => 'numeric'],
+ 'tractor_beam.towing.force' => ['path' => 'TractorBeam.Towing.TowingForce', 'cast' => 'numeric'],
+ 'tractor_beam.towing.max_distance' => ['path' => 'TractorBeam.Towing.TowingMaxDistance', 'cast' => 'numeric'],
+ 'tractor_beam.towing.max_acceleration' => ['path' => 'TractorBeam.Towing.TowingMaxAcceleration', 'cast' => 'numeric'],
+ 'tractor_beam.towing.qt_mass_limit' => ['path' => 'TractorBeam.Towing.QuantumTowMassLimit', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // SALVAGE MODIFIER
+ // =====================================================================
+ 'salvage_modifier.salvage_speed_multiplier' => ['path' => 'SalvageModifier.SalvageSpeedMultiplier', 'cast' => 'numeric'],
+ 'salvage_modifier.radius_multiplier' => ['path' => 'SalvageModifier.RadiusMultiplier', 'cast' => 'numeric'],
+ 'salvage_modifier.extraction_efficiency' => ['path' => 'SalvageModifier.ExtractionEfficiency', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // SELF DESTRUCT
+ // =====================================================================
+ 'self_destruct.damage' => ['path' => 'SelfDestruct.Damage', 'cast' => 'numeric'],
+ 'self_destruct.countdown' => ['path' => 'SelfDestruct.Time', 'cast' => 'numeric'],
+ 'self_destruct.min_radius' => ['path' => 'SelfDestruct.MinRadius', 'cast' => 'numeric'],
+ 'self_destruct.phys_radius' => ['path' => 'SelfDestruct.PhysRadius', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // COOLDOWN (General)
+ // =====================================================================
+ 'cooldown' => ['path' => 'Cooldown', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // CLOTHING & ARMOR
+ // =====================================================================
+ 'clothing.temperature_resistance.min' => ['path' => 'TemperatureResistance.Minimum', 'cast' => 'numeric'],
+ 'clothing.temperature_resistance.max' => ['path' => 'TemperatureResistance.Maximum', 'cast' => 'numeric'],
+ 'clothing.radiation_resistance.maximum_radiation_capacity' => ['path' => 'RadiationResistance.MaximumRadiationCapacity', 'cast' => 'numeric'],
+ 'clothing.radiation_resistance.radiation_dissipation_rate' => ['path' => 'RadiationResistance.RadiationDissipationRate', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // SUIT ARMOR
+ // =====================================================================
+ 'clothing.damage_resistance_map.physical_change' => ['path' => 'SuitArmor.DamageResistance.Physical.Multiplier', 'cast' => 'numeric'],
+ 'clothing.damage_resistance_map.energy_change' => ['path' => 'SuitArmor.DamageResistance.Energy.Multiplier', 'cast' => 'numeric'],
+ 'clothing.damage_resistance_map.distortion_change' => ['path' => 'SuitArmor.DamageResistance.Distortion.Multiplier', 'cast' => 'numeric'],
+ 'clothing.damage_resistance_map.thermal_change' => ['path' => 'SuitArmor.DamageResistance.Thermal.Multiplier', 'cast' => 'numeric'],
+ 'clothing.damage_resistance_map.stun_change' => ['path' => 'SuitArmor.DamageResistance.Stun.Multiplier', 'cast' => 'numeric'],
+ 'clothing.damage_resistance_map.impact_change' => ['path' => 'SuitArmor.DamageResistance.Impact', 'cast' => 'numeric'],
+ 'clothing.signature.electromagnetic' => ['path' => 'SuitArmor.Signature.Electromagnetic', 'cast' => 'numeric'],
+ 'clothing.signature.infrared' => ['path' => 'SuitArmor.Signature.Infrared', 'cast' => 'numeric'],
+
+ // =====================================================================
+ // FOOD & NUTRITION
+ // =====================================================================
+ 'food.nutrition.hunger' => ['path' => 'Food.Nutrition.Hunger.Total', 'cast' => 'numeric'],
+ 'food.nutrition.thirst' => ['path' => 'Food.Nutrition.Thirst.Total', 'cast' => 'numeric'],
+ 'food.nutrition.blood_drug_level' => ['path' => 'Food.Nutrition.BloodDrugLevel.Total', 'cast' => 'numeric'],
+
+];
diff --git a/config/sorts/vehicles.php b/config/sorts/vehicles.php
new file mode 100644
index 000000000..4371cc4b5
--- /dev/null
+++ b/config/sorts/vehicles.php
@@ -0,0 +1,55 @@
+ ['path' => 'Size', 'cast' => 'numeric'],
+
+ // Physical Dimensions
+ 'length' => ['path' => 'Length', 'cast' => 'numeric'],
+ 'width' => ['path' => 'Width', 'cast' => 'numeric'],
+ 'height' => ['path' => 'Height', 'cast' => 'numeric'],
+
+ // Mass & Cargo
+ 'mass_total' => ['path' => 'MassTotal', 'cast' => 'numeric'],
+ 'cargo_capacity' => ['path' => 'Cargo', 'cast' => 'numeric'],
+ 'vehicle_inventory' => ['path' => 'Stowage', 'cast' => 'numeric'],
+
+ // Crew
+ 'crew.min' => ['path' => 'Crew', 'cast' => 'numeric'],
+
+ // Health & Durability
+ 'health' => ['path' => 'Health', 'cast' => 'numeric'],
+ 'armor.health' => ['path' => 'Armor.Health', 'cast' => 'numeric'],
+
+ // Shield
+ 'shield.hp' => ['path' => 'ShieldsTotal.Hp', 'cast' => 'numeric'],
+ 'shield.face_type' => ['path' => 'ShieldController.FaceType', 'cast' => 'text'],
+
+ // Speed & Performance
+ 'speed.scm' => ['path' => 'FlightCharacteristics.IFCS.ScmSpeed', 'cast' => 'numeric'],
+ 'speed.max' => ['path' => 'FlightCharacteristics.IFCS.MaxSpeed', 'cast' => 'numeric'],
+
+ // Cross Section
+ 'cross_section.length' => ['path' => 'CrossSection.X', 'cast' => 'numeric'],
+ 'cross_section.width' => ['path' => 'CrossSection.Y', 'cast' => 'numeric'],
+ 'cross_section.height' => ['path' => 'CrossSection.Z', 'cast' => 'numeric'],
+
+ // Types
+ 'is_vehicle' => ['path' => 'IsVehicle', 'cast' => 'boolean'],
+ 'is_gravlev' => ['path' => 'IsGravlev', 'cast' => 'boolean'],
+ 'is_spaceship' => ['path' => 'IsSpaceship', 'cast' => 'boolean'],
+
+ // Signature / Emission
+ 'signature.ir_quantum' => ['path' => 'Emission.IrQuantum', 'cast' => 'numeric'],
+ 'signature.ir_shields' => ['path' => 'Emission.IrShields', 'cast' => 'numeric'],
+ 'signature.em_quantum' => ['path' => 'Emission.EmQuantum', 'cast' => 'numeric'],
+ 'signature.em_shields' => ['path' => 'Emission.EmShields', 'cast' => 'numeric'],
+];
diff --git a/config/translations.php b/config/translations.php
new file mode 100644
index 000000000..ef7663263
--- /dev/null
+++ b/config/translations.php
@@ -0,0 +1,32 @@
+ [
+ 'zh_CN' => storage_path('app/api/ScToolBoxLocales/chinese_(simplified)/global.ini'),
+ 'de_DE' => storage_path('app/api/StarCitizenDeutsch/live/global.ini'),
+ ],
+
+ /*
+ |--------------------------------------------------------------------------
+ | Labels JSON Path
+ |--------------------------------------------------------------------------
+ |
+ | Path to the labels.json file containing label definitions.
+ |
+ */
+
+ 'labels_json' => storage_path('app/api/scunpacked-data/labels.json'),
+];
diff --git a/config/trustedproxy.php b/config/trustedproxy.php
deleted file mode 100644
index f71fd7768..000000000
--- a/config/trustedproxy.php
+++ /dev/null
@@ -1,57 +0,0 @@
- [
- '127.0.0.1',
- ], // [,], '*', ','*/
-
- /*
- * To trust one or more specific proxies that connect
- * directly to your server, use an array or a string separated by comma of IP addresses:
- */
- // 'proxies' => ['192.168.1.1'],
- // 'proxies' => '192.168.1.1, 192.168.1.2',
-
- /*
- * Or, to trust all proxies that connect
- * directly to your server, use a "*"
- */
- 'proxies' => '*',
-
- /*
- * Which headers to use to detect proxy related data (For, Host, Proto, Port)
- *
- * Options include:
- *
- * - Illuminate\Http\Request::HEADER_X_FORWARDED_ALL (use all x-forwarded-* headers to establish trust)
- * - Illuminate\Http\Request::HEADER_FORWARDED (use the FORWARDED header to establish trust)
- * - Illuminate\Http\Request::HEADER_X_FORWARDED_AWS_ELB (If you are using AWS Elastic Load Balancer)
- *
- * - 'HEADER_X_FORWARDED_ALL' (use all x-forwarded-* headers to establish trust)
- * - 'HEADER_FORWARDED' (use the FORWARDED header to establish trust)
- * - 'HEADER_X_FORWARDED_AWS_ELB' (If you are using AWS Elastic Load Balancer)
- *
- * @link https://symfony.com/doc/current/deployment/proxies.html
- */
- 'headers' => Request::HEADER_X_FORWARDED_FOR |
- Request::HEADER_X_FORWARDED_HOST |
- Request::HEADER_X_FORWARDED_PORT |
- Request::HEADER_X_FORWARDED_PROTO |
- Request::HEADER_X_FORWARDED_AWS_ELB,
-];
diff --git a/config/view.php b/config/view.php
deleted file mode 100644
index e193ab61d..000000000
--- a/config/view.php
+++ /dev/null
@@ -1,33 +0,0 @@
- [
- realpath(base_path('resources/views')),
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Compiled View Path
- |--------------------------------------------------------------------------
- |
- | This option determines where all the compiled Blade templates will be
- | stored for your application. Typically, this is within the storage
- | directory. However, as usual, you are free to change this value.
- |
- */
-
- 'compiled' => realpath(storage_path('framework/views')),
-
-];
diff --git a/database/.gitignore b/database/.gitignore
index 9b1dffd90..9b19b93c9 100644
--- a/database/.gitignore
+++ b/database/.gitignore
@@ -1 +1 @@
-*.sqlite
+*.sqlite*
diff --git a/database/factories/Account/User/UserFactory.php b/database/factories/Account/User/UserFactory.php
deleted file mode 100644
index b87a66401..000000000
--- a/database/factories/Account/User/UserFactory.php
+++ /dev/null
@@ -1,61 +0,0 @@
- $this->faker->userName,
- 'email' => $this->faker->email,
- 'blocked' => false,
- 'provider' => 'starcitizenwiki',
- 'provider_id' => $id++,
- 'last_login' => $this->faker->dateTime,
- 'api_token' => Str::random(60),
- 'created_at' => Carbon::now(),
- 'updated_at' => Carbon::now(),
- ];
- }
-
- public function blocked()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'blocked' => true,
- ];
- }
- );
- }
-}
diff --git a/database/factories/Account/User/UserGroupFactory.php b/database/factories/Account/User/UserGroupFactory.php
deleted file mode 100644
index 8719cc1df..000000000
--- a/database/factories/Account/User/UserGroupFactory.php
+++ /dev/null
@@ -1,99 +0,0 @@
- $this->faker->userName,
- 'permission_level' => $this->faker->numberBetween(0, 4),
- ];
- }
-
- public function bureaucrat()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'name' => 'bureaucrat',
- 'permission_level' => 4,
- ];
- }
- );
- }
-
- public function sysop()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'name' => 'sysop',
- 'permission_level' => 3,
- ];
- }
- );
- }
-
- public function sichter()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'name' => 'sichter',
- 'permission_level' => 2,
- ];
- }
- );
- }
-
- public function mitarbeiter()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'name' => 'mitarbeiter',
- 'permission_level' => 1,
- ];
- }
- );
- }
-
- public function user()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'name' => 'user',
- 'permission_level' => 0,
- ];
- }
- );
- }
-}
diff --git a/database/factories/Game/EntityTagFactory.php b/database/factories/Game/EntityTagFactory.php
new file mode 100644
index 000000000..593feb647
--- /dev/null
+++ b/database/factories/Game/EntityTagFactory.php
@@ -0,0 +1,29 @@
+
+ */
+class EntityTagFactory extends Factory
+{
+ protected $model = EntityTag::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'uuid' => fake()->unique()->uuid(),
+ 'name' => fake()->randomElement(['Armor', 'Weapon', 'Food', 'Clothing', 'Ship', 'Component']),
+ ];
+ }
+}
diff --git a/database/factories/Game/GameVersionFactory.php b/database/factories/Game/GameVersionFactory.php
new file mode 100644
index 000000000..6225cb371
--- /dev/null
+++ b/database/factories/Game/GameVersionFactory.php
@@ -0,0 +1,31 @@
+
+ */
+class GameVersionFactory extends Factory
+{
+ protected $model = GameVersion::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'code' => fake()->unique()->numerify('3.##.#'),
+ 'channel' => fake()->randomElement(['live', 'ptu', 'eptu']),
+ 'released_at' => fake()->dateTimeBetween('-2 years', 'now'),
+ 'is_default' => false,
+ ];
+ }
+}
diff --git a/database/factories/Game/ItemDataFactory.php b/database/factories/Game/ItemDataFactory.php
new file mode 100644
index 000000000..5738e1d65
--- /dev/null
+++ b/database/factories/Game/ItemDataFactory.php
@@ -0,0 +1,175 @@
+
+ */
+class ItemDataFactory extends Factory
+{
+ protected $model = ItemData::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'item_id' => Item::factory(),
+ 'game_version_id' => GameVersion::factory(),
+ 'manufacturer_id' => Manufacturer::factory(),
+ 'name' => fake()->words(3, true),
+ 'class_name' => fake()->lexify('item_????????'),
+ 'type' => fake()->randomElement(['Armor', 'WeaponAttachment', 'Food', 'Drink', 'WeaponPersonal']),
+ 'sub_type' => fake()->randomElement(['Helmet', 'Pants', 'Scope', 'Medical']),
+ 'classification' => fake()->randomElement([
+ 'FPS.Clothing.Helmet',
+ 'FPS.Armor.Heavy',
+ 'FPS.Weapon.Rifle',
+ ]),
+ 'size' => fake()->numberBetween(1, 5),
+ 'grade' => fake()->numberBetween(1, 5),
+ 'class' => fake()->randomElement(['Civilian', 'Military', 'Industrial']),
+ 'base_id' => null,
+ 'data' => [
+
+ ],
+ ];
+ }
+
+ public function cooler(): self|Factory
+ {
+ return $this->state(fn (array $attributes) => [
+ 'type' => 'Cooler',
+ 'sub_type' => 'UNDEFINED',
+ 'classification' => 'Ship.Cooler',
+ 'data' => [
+ 'stdItem' => [
+ 'Cooler' => [
+ 'CoolingRate' => fake()->numberBetween(100000, 1000000),
+ 'SuppressionIRFactor' => fake()->numberBetween(0, 1),
+ 'SuppressionHeatFactor' => fake()->numberBetween(0, 1),
+ ],
+ ],
+ ],
+ ]);
+ }
+
+ public function shield(): self|Factory
+ {
+ return $this->state(fn (array $attributes) => [
+ 'type' => 'Shield',
+ 'sub_type' => 'UNDEFINED',
+ 'classification' => 'Ship.Shield',
+ 'data' => json_decode(
+ <<<'JSON'
+{
+ "MaxShieldHealth": 66000,
+ "MaxShieldRegen": 5940,
+ "DecayRatio": 0.25,
+ "ReservePoolInitialHealthRatio": 1,
+ "ReservePoolMaxHealthRatio": 1,
+ "ReservePoolRegenRateRatio": 1,
+ "ReservePoolDrainRateRatio": 2.5,
+ "DownedDelay": 12.7,
+ "DamagedDelay": 6.33,
+ "ElectricalChargeDamageResistance": 0,
+ "StunParams": {
+ "MinAlphaDamageRatio": 0.005,
+ "MaxAlphaDamageRatio": 0.15,
+ "MinStunTime": 0,
+ "MaxStunTime": 12
+ },
+ "Absorption": {
+ "Physical": {
+ "Minimum": 0,
+ "Maximum": 0.45
+ },
+ "Energy": {
+ "Minimum": 1,
+ "Maximum": 1
+ },
+ "Distortion": {
+ "Minimum": 1,
+ "Maximum": 1
+ },
+ "Thermal": {
+ "Minimum": 1,
+ "Maximum": 1
+ },
+ "Biochemical": {
+ "Minimum": 1,
+ "Maximum": 1
+ },
+ "Stun": {
+ "Minimum": 1,
+ "Maximum": 1
+ }
+ },
+ "Resistance": {
+ "Physical": {
+ "Minimum": 0,
+ "Maximum": 0.25
+ },
+ "Energy": {
+ "Minimum": 0.03,
+ "Maximum": 0.1
+ },
+ "Distortion": {
+ "Minimum": 0.75,
+ "Maximum": 0.95
+ },
+ "Thermal": {
+ "Minimum": 0,
+ "Maximum": 0
+ },
+ "Biochemical": {
+ "Minimum": 0,
+ "Maximum": 0
+ },
+ "Stun": {
+ "Minimum": 0,
+ "Maximum": 0
+ }
+ },
+ "RegenerationTime": 11.11111111111111
+ }
+JSON, true, 512, JSON_THROW_ON_ERROR
+ ),
+ ]);
+ }
+
+ public function emp(): self|Factory
+ {
+ return $this->state(fn (array $attributes) => [
+ 'type' => 'EMP',
+ 'sub_type' => 'UNDEFINED',
+ 'classification' => 'Ship.EMP',
+ 'data' => [
+ 'stdItem' => [
+ 'Emp' => [
+ 'ChargeTime' => fake()->numberBetween(1, 10),
+ 'DistortionDamage' => fake()->numberBetween(100, 1000),
+ 'EmpRadius' => fake()->numberBetween(100, 1000),
+ 'MinEmpRadius' => fake()->numberBetween(10, 100),
+ 'PhysRadius' => fake()->numberBetween(100, 1000),
+ 'MinPhysRadius' => fake()->numberBetween(10, 100),
+ 'Pressure' => fake()->numberBetween(0, 100),
+ 'UnleashTime' => fake()->numberBetween(0.1, 1),
+ 'CooldownTime' => fake()->numberBetween(0.1, 1),
+ ],
+ ],
+ ],
+ ]);
+ }
+}
diff --git a/database/factories/Game/ItemDescriptionDataFactory.php b/database/factories/Game/ItemDescriptionDataFactory.php
new file mode 100644
index 000000000..601a5b129
--- /dev/null
+++ b/database/factories/Game/ItemDescriptionDataFactory.php
@@ -0,0 +1,31 @@
+
+ */
+class ItemDescriptionDataFactory extends Factory
+{
+ protected $model = ItemDescriptionData::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'item_id' => Item::factory(),
+ 'name' => fake()->randomElement(['Type', 'Manufacturer', 'Focus', 'Role']),
+ 'value' => fake()->words(3, true),
+ ];
+ }
+}
diff --git a/database/factories/Game/ItemFactory.php b/database/factories/Game/ItemFactory.php
new file mode 100644
index 000000000..ccfb79298
--- /dev/null
+++ b/database/factories/Game/ItemFactory.php
@@ -0,0 +1,28 @@
+
+ */
+class ItemFactory extends Factory
+{
+ protected $model = Item::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'uuid' => fake()->unique()->uuid(),
+ ];
+ }
+}
diff --git a/database/factories/Game/ManufacturerFactory.php b/database/factories/Game/ManufacturerFactory.php
new file mode 100644
index 000000000..d07b813f5
--- /dev/null
+++ b/database/factories/Game/ManufacturerFactory.php
@@ -0,0 +1,30 @@
+
+ */
+class ManufacturerFactory extends Factory
+{
+ protected $model = Manufacturer::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'uuid' => fake()->unique()->uuid(),
+ 'name' => fake()->company(),
+ 'code' => strtoupper(fake()->lexify('???')),
+ ];
+ }
+}
diff --git a/database/factories/Game/VehicleDataFactory.php b/database/factories/Game/VehicleDataFactory.php
new file mode 100644
index 000000000..e43f6334f
--- /dev/null
+++ b/database/factories/Game/VehicleDataFactory.php
@@ -0,0 +1,67 @@
+
+ */
+class VehicleDataFactory extends Factory
+{
+ protected $model = VehicleData::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'vehicle_id' => Vehicle::factory(),
+ 'game_version_id' => GameVersion::factory(),
+ 'manufacturer_id' => Manufacturer::factory(),
+ 'shipmatrix_id' => fake()->numberBetween(1000, 9999),
+ 'class_name' => fake()->randomElement(['MISC_Reliant', 'ANVL_Hornet_F7CM', 'RSI_Constellation']),
+ 'name' => fake()->words(2, true),
+ 'display_name' => fake()->words(2, true),
+ 'career' => fake()->randomElement(['Transporter', 'Combat', 'Exploration']),
+ 'role' => fake()->randomElement(['Starter / Light Freight', 'Medium Fighter', 'Expedition']),
+ 'is_vehicle' => false,
+ 'is_gravlev' => false,
+ 'is_spaceship' => true,
+ 'size' => fake()->numberBetween(1, 6),
+ 'data' => [
+ 'UUID' => '3c9af040-d919-4afc-b768-45821a5b913c',
+ 'ClassName' => 'MISC_Reliant',
+ 'Name' => 'MISC Reliant Kore',
+ 'DescriptionData' => [
+ 'Manufacturer' => 'Musashi Industrial & Starflight Concern',
+ 'Focus' => 'Light Freight',
+ ],
+ 'DescriptionText' => 'With the Reliant Kore, MISC adds to its already impressive lineup of ships, a smaller introductory-class spacecraft.',
+ 'Career' => 'Transporter',
+ 'Role' => 'Starter / Light Freight',
+ 'Manufacturer' => [
+ 'UUID' => 'b28a5c61-63a4-478b-8047-5fba545d5b8a',
+ 'Name' => 'Musashi Industrial & Starflight Concern',
+ ],
+ 'Size' => 3,
+ 'IsVehicle' => false,
+ 'IsGravlev' => false,
+ 'IsSpaceship' => true,
+ 'Insurance' => [
+ 'ExpeditedCost' => 340,
+ 'StandardClaimTime' => 0.675,
+ ],
+ ],
+ ];
+ }
+}
diff --git a/database/factories/Game/VehicleFactory.php b/database/factories/Game/VehicleFactory.php
new file mode 100644
index 000000000..df12855df
--- /dev/null
+++ b/database/factories/Game/VehicleFactory.php
@@ -0,0 +1,28 @@
+
+ */
+class VehicleFactory extends Factory
+{
+ protected $model = Vehicle::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'uuid' => fake()->unique()->uuid(),
+ ];
+ }
+}
diff --git a/database/factories/Rsi/CommLink/Category/CategoryFactory.php b/database/factories/Rsi/CommLink/Category/CategoryFactory.php
deleted file mode 100644
index 9adedfbd2..000000000
--- a/database/factories/Rsi/CommLink/Category/CategoryFactory.php
+++ /dev/null
@@ -1,45 +0,0 @@
-faker->slug;
- $name = ucwords(str_replace('-', ' ', $slug));
-
- return [
- 'name' => $name,
- 'slug' => $slug,
- 'created_at' => Carbon::now(),
- 'updated_at' => Carbon::now(),
- ];
- }
-}
diff --git a/database/factories/Rsi/CommLink/CategoryFactory.php b/database/factories/Rsi/CommLink/CategoryFactory.php
new file mode 100644
index 000000000..4ca1a5e4d
--- /dev/null
+++ b/database/factories/Rsi/CommLink/CategoryFactory.php
@@ -0,0 +1,31 @@
+
+ */
+class CategoryFactory extends Factory
+{
+ protected $model = Category::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ $name = fake()->randomElement(['General', 'Lore', 'Development', 'Short Stories', 'Spectrum', 'News']);
+
+ return [
+ 'name' => $name,
+ 'slug' => strtolower(str_replace(' ', '-', $name)),
+ ];
+ }
+}
diff --git a/database/factories/Rsi/CommLink/Channel/ChannelFactory.php b/database/factories/Rsi/CommLink/Channel/ChannelFactory.php
deleted file mode 100644
index cb79eb87e..000000000
--- a/database/factories/Rsi/CommLink/Channel/ChannelFactory.php
+++ /dev/null
@@ -1,45 +0,0 @@
-faker->slug;
- $name = ucwords(str_replace('-', ' ', $slug));
-
- return [
- 'name' => $name,
- 'slug' => $slug,
- 'created_at' => Carbon::now(),
- 'updated_at' => Carbon::now(),
- ];
- }
-}
diff --git a/database/factories/Rsi/CommLink/ChannelFactory.php b/database/factories/Rsi/CommLink/ChannelFactory.php
new file mode 100644
index 000000000..86048a9f4
--- /dev/null
+++ b/database/factories/Rsi/CommLink/ChannelFactory.php
@@ -0,0 +1,31 @@
+
+ */
+class ChannelFactory extends Factory
+{
+ protected $model = Channel::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ $name = fake()->randomElement(['Transmission', 'Spectrum Dispatch', 'Development', 'News', 'Media']);
+
+ return [
+ 'name' => $name,
+ 'slug' => strtolower(str_replace(' ', '-', $name)),
+ ];
+ }
+}
diff --git a/database/factories/Rsi/CommLink/CommLinkFactory.php b/database/factories/Rsi/CommLink/CommLinkFactory.php
index c4e3f3020..86dbb8523 100644
--- a/database/factories/Rsi/CommLink/CommLinkFactory.php
+++ b/database/factories/Rsi/CommLink/CommLinkFactory.php
@@ -4,58 +4,35 @@
namespace Database\Factories\Rsi\CommLink;
-use App\Models\Rsi\CommLink\Category\Category;
-use App\Models\Rsi\CommLink\Channel\Channel;
+use App\Models\Rsi\CommLink\Category;
+use App\Models\Rsi\CommLink\Channel;
use App\Models\Rsi\CommLink\CommLink;
-use App\Models\Rsi\CommLink\Series\Series;
-use Carbon\Carbon;
+use App\Models\Rsi\CommLink\Series;
use Illuminate\Database\Eloquent\Factories\Factory;
+/**
+ * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\Rsi\CommLink\CommLink>
+ */
class CommLinkFactory extends Factory
{
- /**
- * The name of the factory's corresponding model.
- *
- * @var string
- */
protected $model = CommLink::class;
/**
* Define the model's default state.
*
- * @return array
+ * @return array
*/
- public function definition()
+ public function definition(): array
{
- static $cigId = 12663;
-
return [
- 'cig_id' => $cigId++,
-
- 'title' => $this->faker->sentence(),
- 'comment_count' => $this->faker->numberBetween(0, 2000),
- 'url' => $this->faker->boolean() ? '/comm-link/SCW/'.$cigId.'-IMPORT' : null,
-
- 'file' => Carbon::now()->format('Y-m-d_His').'.html',
-
+ 'cig_id' => fake()->unique()->numberBetween(1000, 99999),
+ 'title' => fake()->sentence(),
+ 'comment_count' => fake()->numberBetween(0, 100),
+ 'url' => fake()->url(),
+ 'file' => fake()->dateTime()->format('Y-m-d_His').'.html',
'channel_id' => Channel::factory(),
'category_id' => Category::factory(),
'series_id' => Series::factory(),
-
- 'created_at' => Carbon::now(),
- 'updated_at' => Carbon::now(),
];
}
-
- public function german()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'locale_code' => 'de_DE',
- 'translation' => $this->faker->randomHtml(2, 3),
- ];
- }
- );
- }
}
diff --git a/database/factories/Rsi/CommLink/CommLinkTranslationFactory.php b/database/factories/Rsi/CommLink/CommLinkTranslationFactory.php
deleted file mode 100644
index 00932c14b..000000000
--- a/database/factories/Rsi/CommLink/CommLinkTranslationFactory.php
+++ /dev/null
@@ -1,44 +0,0 @@
- Language::ENGLISH,
- 'translation' => $this->faker->randomHtml(2, 3),
- ];
- }
-
- public function german()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'locale_code' => Language::GERMAN,
- 'translation' => $this->faker->randomHtml(2, 3),
- ];
- }
- );
- }
-}
diff --git a/database/factories/Rsi/CommLink/Image/ImageFactory.php b/database/factories/Rsi/CommLink/Image/ImageFactory.php
index 6277d3862..a265b82df 100644
--- a/database/factories/Rsi/CommLink/Image/ImageFactory.php
+++ b/database/factories/Rsi/CommLink/Image/ImageFactory.php
@@ -5,38 +5,28 @@
namespace Database\Factories\Rsi\CommLink\Image;
use App\Models\Rsi\CommLink\Image\Image;
-use Carbon\Carbon;
use Illuminate\Database\Eloquent\Factories\Factory;
-use Illuminate\Support\Str;
+/**
+ * @extends Factory
+ */
class ImageFactory extends Factory
{
- /**
- * The name of the factory's corresponding model.
- *
- * @var string
- */
protected $model = Image::class;
/**
- * Define the model's default state.
- *
- * @return array
+ * @return array
*/
- public function definition()
+ public function definition(): array
{
- $dir = Str::random(14);
- $fileName = Str::random(4);
-
- $file = sprintf('/media/%s/source/%s.jpg', $dir, $fileName);
+ $basename = fake()->uuid();
return [
- 'src' => $file,
- 'alt' => $this->faker->boolean() ? 'Lorem Ipsum' : '',
+ 'src' => sprintf('/i/%s/%s.webp', $basename, $basename),
+ 'alt' => fake()->words(3, true),
'local' => false,
- 'dir' => $dir,
- 'created_at' => Carbon::now(),
- 'updated_at' => Carbon::now(),
+ 'dir' => 'i',
+ 'base_image_id' => null,
];
}
}
diff --git a/database/factories/Rsi/CommLink/Image/ImageMetadataFactory.php b/database/factories/Rsi/CommLink/Image/ImageMetadataFactory.php
deleted file mode 100644
index 5cc1ba0c2..000000000
--- a/database/factories/Rsi/CommLink/Image/ImageMetadataFactory.php
+++ /dev/null
@@ -1,32 +0,0 @@
- $this->faker->randomNumber(5),
- 'mime' => 'image/jpeg',
- 'last_modified' => $this->faker->dateTime(),
- ];
- }
-}
diff --git a/database/factories/Rsi/CommLink/Link/LinkFactory.php b/database/factories/Rsi/CommLink/Link/LinkFactory.php
deleted file mode 100644
index c03e3b464..000000000
--- a/database/factories/Rsi/CommLink/Link/LinkFactory.php
+++ /dev/null
@@ -1,42 +0,0 @@
- $this->faker->url,
- 'text' => $this->faker->boolean() ? $this->faker->text($this->faker->numberBetween(10, 100)) : '',
- 'created_at' => Carbon::now(),
- 'updated_at' => Carbon::now(),
- ];
- }
-}
diff --git a/database/factories/Rsi/CommLink/LinkFactory.php b/database/factories/Rsi/CommLink/LinkFactory.php
new file mode 100644
index 000000000..ea8357d06
--- /dev/null
+++ b/database/factories/Rsi/CommLink/LinkFactory.php
@@ -0,0 +1,29 @@
+
+ */
+class LinkFactory extends Factory
+{
+ protected $model = Link::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'href' => fake()->url(),
+ 'text' => fake()->sentence(3),
+ ];
+ }
+}
diff --git a/database/factories/Rsi/CommLink/Series/SeriesFactory.php b/database/factories/Rsi/CommLink/Series/SeriesFactory.php
deleted file mode 100644
index f9f5febf3..000000000
--- a/database/factories/Rsi/CommLink/Series/SeriesFactory.php
+++ /dev/null
@@ -1,45 +0,0 @@
-faker->slug;
- $name = ucwords(str_replace('-', ' ', $slug));
-
- return [
- 'name' => $name,
- 'slug' => $slug,
- 'created_at' => Carbon::now(),
- 'updated_at' => Carbon::now(),
- ];
- }
-}
diff --git a/database/factories/Rsi/CommLink/SeriesFactory.php b/database/factories/Rsi/CommLink/SeriesFactory.php
new file mode 100644
index 000000000..0058b9c45
--- /dev/null
+++ b/database/factories/Rsi/CommLink/SeriesFactory.php
@@ -0,0 +1,31 @@
+
+ */
+class SeriesFactory extends Factory
+{
+ protected $model = Series::class;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ $name = fake()->randomElement(['Jump Point', 'Galactic Guide', 'Showdown', 'None']);
+
+ return [
+ 'name' => $name,
+ 'slug' => strtolower(str_replace(' ', '-', $name)),
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/Galactapedia/ArticleFactory.php b/database/factories/StarCitizen/Galactapedia/ArticleFactory.php
new file mode 100644
index 000000000..2d23aafbc
--- /dev/null
+++ b/database/factories/StarCitizen/Galactapedia/ArticleFactory.php
@@ -0,0 +1,32 @@
+
+ */
+class ArticleFactory extends Factory
+{
+ protected $model = Article::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'cig_id' => fake()->unique()->numberBetween(10000, 999999),
+ 'title' => fake()->sentence(3),
+ 'slug' => fake()->slug(),
+ 'in_wiki' => true,
+ 'disabled' => false,
+ 'thumbnail' => fake()->imageUrl(),
+ 'translation' => [],
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/Galactapedia/ArticlePropertyFactory.php b/database/factories/StarCitizen/Galactapedia/ArticlePropertyFactory.php
new file mode 100644
index 000000000..197225523
--- /dev/null
+++ b/database/factories/StarCitizen/Galactapedia/ArticlePropertyFactory.php
@@ -0,0 +1,29 @@
+
+ */
+class ArticlePropertyFactory extends Factory
+{
+ protected $model = ArticleProperty::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'article_id' => Article::factory(),
+ 'name' => fake()->word(),
+ 'content' => fake()->sentence(),
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/Galactapedia/CategoryFactory.php b/database/factories/StarCitizen/Galactapedia/CategoryFactory.php
new file mode 100644
index 000000000..6671d664f
--- /dev/null
+++ b/database/factories/StarCitizen/Galactapedia/CategoryFactory.php
@@ -0,0 +1,29 @@
+
+ */
+class CategoryFactory extends Factory
+{
+ protected $model = Category::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'cig_id' => fake()->unique()->numberBetween(1, 999999),
+ 'name' => fake()->words(2, true),
+ 'slug' => fake()->slug(),
+ 'thumbnail' => fake()->imageUrl(),
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/Galactapedia/TagFactory.php b/database/factories/StarCitizen/Galactapedia/TagFactory.php
new file mode 100644
index 000000000..2d8422433
--- /dev/null
+++ b/database/factories/StarCitizen/Galactapedia/TagFactory.php
@@ -0,0 +1,28 @@
+
+ */
+class TagFactory extends Factory
+{
+ protected $model = Tag::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'cig_id' => fake()->unique()->numberBetween(1, 999999),
+ 'name' => fake()->word(),
+ 'slug' => fake()->slug(),
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/Galactapedia/TemplateFactory.php b/database/factories/StarCitizen/Galactapedia/TemplateFactory.php
new file mode 100644
index 000000000..d4d98bea1
--- /dev/null
+++ b/database/factories/StarCitizen/Galactapedia/TemplateFactory.php
@@ -0,0 +1,26 @@
+
+ */
+class TemplateFactory extends Factory
+{
+ protected $model = Template::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'template' => fake()->word(),
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/Manufacturer/ManufacturerFactory.php b/database/factories/StarCitizen/Manufacturer/ManufacturerFactory.php
deleted file mode 100644
index 114ddb5e0..000000000
--- a/database/factories/StarCitizen/Manufacturer/ManufacturerFactory.php
+++ /dev/null
@@ -1,51 +0,0 @@
- $cigId++,
- 'name' => $this->faker->unique()->userName,
- 'name_short' => $this->faker->unique()->userName,
- ];
- }
-
- /**
- * Configure the model factory.
- *
- * @return $this
- */
- public function configure()
- {
- return $this->afterCreating(
- function (Manufacturer $manufacturer) {
- $manufacturer->translations()->save(
- ManufacturerTranslation::factory()->make()
- );
- }
- );
- }
-}
diff --git a/database/factories/StarCitizen/Manufacturer/ManufacturerTranslationFactory.php b/database/factories/StarCitizen/Manufacturer/ManufacturerTranslationFactory.php
deleted file mode 100644
index 3e15feefe..000000000
--- a/database/factories/StarCitizen/Manufacturer/ManufacturerTranslationFactory.php
+++ /dev/null
@@ -1,46 +0,0 @@
- Language::ENGLISH,
- 'known_for' => 'Lorem Ipsum',
- 'description' => 'Lorem Ipsum dolor sit amet',
- ];
- }
-
- public function german()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'locale_code' => Language::GERMAN,
- 'known_for' => 'Deutsches Lorem Ipsum',
- 'description' => 'Deutsches Lorem Ipsum',
- ];
- }
- );
- }
-}
diff --git a/database/factories/StarCitizen/ProductionNote/ProductionNoteFactory.php b/database/factories/StarCitizen/ProductionNote/ProductionNoteFactory.php
deleted file mode 100644
index 54fab7a3d..000000000
--- a/database/factories/StarCitizen/ProductionNote/ProductionNoteFactory.php
+++ /dev/null
@@ -1,45 +0,0 @@
-afterCreating(
- function (ProductionNote $productionNote) {
- $productionNote->translations()->save(
- ProductionNoteTranslation::factory()->make()
- );
- }
- );
- }
-}
diff --git a/database/factories/StarCitizen/ProductionNote/ProductionNoteTranslationFactory.php b/database/factories/StarCitizen/ProductionNote/ProductionNoteTranslationFactory.php
deleted file mode 100644
index c39332e93..000000000
--- a/database/factories/StarCitizen/ProductionNote/ProductionNoteTranslationFactory.php
+++ /dev/null
@@ -1,31 +0,0 @@
- 'en_EN',
- 'translation' => 'Lorem Ipsum',
- ];
- }
-}
diff --git a/database/factories/StarCitizen/ProductionStatus/ProductionStatusFactory.php b/database/factories/StarCitizen/ProductionStatus/ProductionStatusFactory.php
deleted file mode 100644
index c155221fe..000000000
--- a/database/factories/StarCitizen/ProductionStatus/ProductionStatusFactory.php
+++ /dev/null
@@ -1,47 +0,0 @@
- $this->faker->unique()->slug(2),
- ];
- }
-
- /**
- * Configure the model factory.
- *
- * @return $this
- */
- public function configure()
- {
- return $this->afterCreating(
- function (ProductionStatus $productionStatus) {
- $productionStatus->translations()->save(
- ProductionStatusTranslation::factory()->make()
- );
- }
- );
- }
-}
diff --git a/database/factories/StarCitizen/ProductionStatus/ProductionStatusTranslationFactory.php b/database/factories/StarCitizen/ProductionStatus/ProductionStatusTranslationFactory.php
deleted file mode 100644
index 2b5489948..000000000
--- a/database/factories/StarCitizen/ProductionStatus/ProductionStatusTranslationFactory.php
+++ /dev/null
@@ -1,31 +0,0 @@
- 'en_EN',
- 'translation' => 'Lorem Ipsum',
- ];
- }
-}
diff --git a/database/factories/StarCitizen/ShipMatrix/ManufacturerFactory.php b/database/factories/StarCitizen/ShipMatrix/ManufacturerFactory.php
new file mode 100644
index 000000000..63b437330
--- /dev/null
+++ b/database/factories/StarCitizen/ShipMatrix/ManufacturerFactory.php
@@ -0,0 +1,30 @@
+
+ */
+class ManufacturerFactory extends Factory
+{
+ protected $model = Manufacturer::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'cig_id' => fake()->unique()->numberBetween(1, 999999),
+ 'name' => fake()->company(),
+ 'name_short' => strtoupper(fake()->lexify('????')),
+ 'known_for' => [],
+ 'description' => [],
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/ShipMatrix/ProductionNoteFactory.php b/database/factories/StarCitizen/ShipMatrix/ProductionNoteFactory.php
new file mode 100644
index 000000000..e1c58a3be
--- /dev/null
+++ b/database/factories/StarCitizen/ShipMatrix/ProductionNoteFactory.php
@@ -0,0 +1,26 @@
+
+ */
+class ProductionNoteFactory extends Factory
+{
+ protected $model = ProductionNote::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'translation' => [],
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/ShipMatrix/ProductionStatusFactory.php b/database/factories/StarCitizen/ShipMatrix/ProductionStatusFactory.php
new file mode 100644
index 000000000..8105f04b8
--- /dev/null
+++ b/database/factories/StarCitizen/ShipMatrix/ProductionStatusFactory.php
@@ -0,0 +1,27 @@
+
+ */
+class ProductionStatusFactory extends Factory
+{
+ protected $model = ProductionStatus::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'slug' => fake()->slug(),
+ 'translation' => [],
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/ShipMatrix/Vehicle/FocusFactory.php b/database/factories/StarCitizen/ShipMatrix/Vehicle/FocusFactory.php
new file mode 100644
index 000000000..8f1665aa0
--- /dev/null
+++ b/database/factories/StarCitizen/ShipMatrix/Vehicle/FocusFactory.php
@@ -0,0 +1,27 @@
+
+ */
+class FocusFactory extends Factory
+{
+ protected $model = Focus::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'slug' => fake()->slug(),
+ 'translation' => [],
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/ShipMatrix/Vehicle/SizeFactory.php b/database/factories/StarCitizen/ShipMatrix/Vehicle/SizeFactory.php
new file mode 100644
index 000000000..0551b4f90
--- /dev/null
+++ b/database/factories/StarCitizen/ShipMatrix/Vehicle/SizeFactory.php
@@ -0,0 +1,27 @@
+
+ */
+class SizeFactory extends Factory
+{
+ protected $model = Size::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'slug' => fake()->slug(),
+ 'translation' => [],
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/ShipMatrix/Vehicle/TypeFactory.php b/database/factories/StarCitizen/ShipMatrix/Vehicle/TypeFactory.php
new file mode 100644
index 000000000..95ff48788
--- /dev/null
+++ b/database/factories/StarCitizen/ShipMatrix/Vehicle/TypeFactory.php
@@ -0,0 +1,27 @@
+
+ */
+class TypeFactory extends Factory
+{
+ protected $model = Type::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'slug' => fake()->slug(),
+ 'translation' => [],
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/ShipMatrix/Vehicle/VehicleFactory.php b/database/factories/StarCitizen/ShipMatrix/Vehicle/VehicleFactory.php
new file mode 100644
index 000000000..6005b95eb
--- /dev/null
+++ b/database/factories/StarCitizen/ShipMatrix/Vehicle/VehicleFactory.php
@@ -0,0 +1,57 @@
+
+ */
+class VehicleFactory extends Factory
+{
+ protected $model = Vehicle::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'cig_id' => fake()->unique()->numberBetween(1, 999999),
+ 'name' => fake()->unique()->words(2, true),
+ 'slug' => fake()->unique()->slug(),
+ 'manufacturer_id' => Manufacturer::factory(),
+ 'production_status_id' => ProductionStatus::factory(),
+ 'production_note_id' => ProductionNote::factory(),
+ 'size_id' => Size::factory(),
+ 'type_id' => Type::factory(),
+ 'length' => fake()->randomFloat(2, 10, 200),
+ 'beam' => fake()->randomFloat(2, 10, 200),
+ 'height' => fake()->randomFloat(2, 10, 200),
+ 'mass' => fake()->numberBetween(1000, 100000),
+ 'cargo_capacity' => fake()->randomFloat(2, 0, 1000),
+ 'min_crew' => fake()->numberBetween(1, 4),
+ 'max_crew' => fake()->numberBetween(1, 8),
+ 'scm_speed' => fake()->numberBetween(50, 500),
+ 'afterburner_speed' => fake()->numberBetween(100, 800),
+ 'pitch_max' => fake()->randomFloat(2, 1, 10),
+ 'yaw_max' => fake()->randomFloat(2, 1, 10),
+ 'roll_max' => fake()->randomFloat(2, 1, 10),
+ 'x_axis_acceleration' => fake()->randomFloat(2, 1, 10),
+ 'y_axis_acceleration' => fake()->randomFloat(2, 1, 10),
+ 'z_axis_acceleration' => fake()->randomFloat(2, 1, 10),
+ 'chassis_id' => fake()->numberBetween(1, 999999),
+ 'msrp' => fake()->numberBetween(10000, 1000000),
+ 'pledge_url' => fake()->url(),
+ 'translation' => [],
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/Starmap/AffiliationFactory.php b/database/factories/StarCitizen/Starmap/AffiliationFactory.php
new file mode 100644
index 000000000..bbd3799e7
--- /dev/null
+++ b/database/factories/StarCitizen/Starmap/AffiliationFactory.php
@@ -0,0 +1,30 @@
+
+ */
+class AffiliationFactory extends Factory
+{
+ protected $model = Affiliation::class;
+
+ /**
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'cig_id' => fake()->unique()->numberBetween(1, 999999),
+ 'name' => fake()->company(),
+ 'code' => strtoupper(fake()->lexify('???')),
+ 'color' => fake()->hexColor(),
+ 'membership_id' => fake()->numberBetween(1, 999999),
+ ];
+ }
+}
diff --git a/database/factories/StarCitizen/Starmap/CelestialObjectFactory.php b/database/factories/StarCitizen/Starmap/CelestialObjectFactory.php
index e5b7dc5c9..428a8770d 100644
--- a/database/factories/StarCitizen/Starmap/CelestialObjectFactory.php
+++ b/database/factories/StarCitizen/Starmap/CelestialObjectFactory.php
@@ -4,27 +4,46 @@
namespace Database\Factories\StarCitizen\Starmap;
-use App\Models\StarCitizen\Starmap\CelestialObject\CelestialObject;
+use App\Models\StarCitizen\Starmap\CelestialObject;
use Illuminate\Database\Eloquent\Factories\Factory;
+/**
+ * @extends Factory
+ */
class CelestialObjectFactory extends Factory
{
- /**
- * The name of the factory's corresponding model.
- *
- * @var string
- */
protected $model = CelestialObject::class;
/**
- * Define the model's default state.
- *
- * @return array
+ * @return array
*/
- public function definition()
+ public function definition(): array
{
return [
-
+ 'cig_id' => fake()->unique()->numberBetween(1000, 999999),
+ 'starsystem_id' => fake()->numberBetween(1000, 999999),
+ 'age' => fake()->randomFloat(2, 0, 10_000),
+ 'appearance' => fake()->word(),
+ 'axial_tilt' => fake()->randomFloat(2, 0, 45),
+ 'code' => strtoupper(fake()->lexify('?????')),
+ 'designation' => strtoupper(fake()->bothify('?#-###')),
+ 'distance' => fake()->randomFloat(2, 0, 100_000),
+ 'fairchanceact' => fake()->boolean(),
+ 'habitable' => fake()->boolean(),
+ 'info_url' => fake()->url(),
+ 'latitude' => fake()->randomFloat(6, -90, 90),
+ 'longitude' => fake()->randomFloat(6, -180, 180),
+ 'name' => fake()->city(),
+ 'orbit_period' => fake()->randomFloat(2, 0, 100_000),
+ 'parent_id' => fake()->numberBetween(1000, 999999),
+ 'sensor_danger' => fake()->randomFloat(2, 0, 10),
+ 'sensor_economy' => fake()->randomFloat(2, 0, 10),
+ 'sensor_population' => fake()->randomFloat(2, 0, 10),
+ 'size' => fake()->randomFloat(2, 0, 10_000),
+ 'type' => fake()->word(),
+ 'subtype_id' => null,
+ 'time_modified' => now(),
+ 'translation' => [],
];
}
}
diff --git a/database/factories/StarCitizen/Starmap/JumppointFactory.php b/database/factories/StarCitizen/Starmap/JumppointFactory.php
deleted file mode 100644
index fd1fe1673..000000000
--- a/database/factories/StarCitizen/Starmap/JumppointFactory.php
+++ /dev/null
@@ -1,30 +0,0 @@
-
+ */
class StarsystemFactory extends Factory
{
- /**
- * The name of the factory's corresponding model.
- *
- * @var string
- */
protected $model = Starsystem::class;
/**
- * Define the model's default state.
- *
- * @return array
+ * @return array
*/
- public function definition()
+ public function definition(): array
{
return [
-
+ 'cig_id' => fake()->unique()->numberBetween(1000, 999999),
+ 'code' => strtoupper(fake()->lexify('???')),
+ 'status' => fake()->randomElement(['ACTIVE', 'INACTIVE', 'UNKNOWN']),
+ 'info_url' => fake()->url(),
+ 'name' => fake()->city(),
+ 'type' => fake()->word(),
+ 'position_x' => fake()->randomFloat(2, -1000, 1000),
+ 'position_y' => fake()->randomFloat(2, -1000, 1000),
+ 'position_z' => fake()->randomFloat(2, -1000, 1000),
+ 'frost_line' => fake()->randomFloat(2, 0, 1000),
+ 'habitable_zone_inner' => fake()->randomFloat(2, 0, 1000),
+ 'habitable_zone_outer' => fake()->randomFloat(2, 0, 1000),
+ 'aggregated_size' => fake()->randomFloat(2, 0, 1000),
+ 'aggregated_population' => fake()->randomFloat(2, 0, 1000),
+ 'aggregated_economy' => fake()->randomFloat(2, 0, 1000),
+ 'aggregated_danger' => fake()->numberBetween(0, 10),
+ 'time_modified' => now(),
+ 'translation' => [],
];
}
}
diff --git a/database/factories/StarCitizen/Stat/StatFactory.php b/database/factories/StarCitizen/Stat/StatFactory.php
deleted file mode 100644
index 1c2a9fb6d..000000000
--- a/database/factories/StarCitizen/Stat/StatFactory.php
+++ /dev/null
@@ -1,40 +0,0 @@
- $this->faker->numberBetween(1000000, mt_getrandmax()),
- 'fleet' => $this->faker->numberBetween(1000, 1500000),
- 'fans' => $this->faker->numberBetween(1000, 2000000),
- ];
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Component/ComponentFactory.php b/database/factories/StarCitizen/Vehicle/Component/ComponentFactory.php
deleted file mode 100644
index 700262f1e..000000000
--- a/database/factories/StarCitizen/Vehicle/Component/ComponentFactory.php
+++ /dev/null
@@ -1,127 +0,0 @@
- $this->faker->randomElement($types),
- 'name' => $this->faker->name,
- 'component_size' => $this->faker->randomElement($sizes),
- 'category' => $this->faker->randomElement($categories),
- 'manufacturer' => $this->faker->randomElement($manufacturers),
- 'component_class' => $this->faker->randomElement($classes),
- ];
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Focus/FocusFactory.php b/database/factories/StarCitizen/Vehicle/Focus/FocusFactory.php
deleted file mode 100644
index 3f77e7290..000000000
--- a/database/factories/StarCitizen/Vehicle/Focus/FocusFactory.php
+++ /dev/null
@@ -1,47 +0,0 @@
- $this->faker->unique()->slug,
- ];
- }
-
- /**
- * Configure the model factory.
- *
- * @return $this
- */
- public function configure()
- {
- return $this->afterCreating(
- function (Focus $focus) {
- $focus->translations()->save(
- FocusTranslation::factory()->make()
- );
- }
- );
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Focus/FocusTranslationFactory.php b/database/factories/StarCitizen/Vehicle/Focus/FocusTranslationFactory.php
deleted file mode 100644
index 632cdb517..000000000
--- a/database/factories/StarCitizen/Vehicle/Focus/FocusTranslationFactory.php
+++ /dev/null
@@ -1,31 +0,0 @@
- 'en_EN',
- 'translation' => 'Lorem Ipsum',
- ];
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Size/SizeFactory.php b/database/factories/StarCitizen/Vehicle/Size/SizeFactory.php
deleted file mode 100644
index e4b978254..000000000
--- a/database/factories/StarCitizen/Vehicle/Size/SizeFactory.php
+++ /dev/null
@@ -1,47 +0,0 @@
- $this->faker->unique()->slug,
- ];
- }
-
- /**
- * Configure the model factory.
- *
- * @return $this
- */
- public function configure()
- {
- return $this->afterCreating(
- function (Size $size) {
- $size->translations()->save(
- SizeTranslation::factory()->make()
- );
- }
- );
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Size/SizeTranslationFactory.php b/database/factories/StarCitizen/Vehicle/Size/SizeTranslationFactory.php
deleted file mode 100644
index 955b39e79..000000000
--- a/database/factories/StarCitizen/Vehicle/Size/SizeTranslationFactory.php
+++ /dev/null
@@ -1,31 +0,0 @@
- 'en_EN',
- 'translation' => 'Lorem Ipsum',
- ];
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Type/TypeFactory.php b/database/factories/StarCitizen/Vehicle/Type/TypeFactory.php
deleted file mode 100644
index fe1387134..000000000
--- a/database/factories/StarCitizen/Vehicle/Type/TypeFactory.php
+++ /dev/null
@@ -1,47 +0,0 @@
- $this->faker->unique()->slug,
- ];
- }
-
- /**
- * Configure the model factory.
- *
- * @return $this
- */
- public function configure()
- {
- return $this->afterCreating(
- function (Type $size) {
- $size->translations()->save(
- TypeTranslation::factory()->make()
- );
- }
- );
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Type/TypeTranslationFactory.php b/database/factories/StarCitizen/Vehicle/Type/TypeTranslationFactory.php
deleted file mode 100644
index c3d77664f..000000000
--- a/database/factories/StarCitizen/Vehicle/Type/TypeTranslationFactory.php
+++ /dev/null
@@ -1,31 +0,0 @@
- 'en_EN',
- 'translation' => 'Lorem Ipsum',
- ];
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Vehicle/VehicleFactory.php b/database/factories/StarCitizen/Vehicle/Vehicle/VehicleFactory.php
deleted file mode 100644
index 07132653c..000000000
--- a/database/factories/StarCitizen/Vehicle/Vehicle/VehicleFactory.php
+++ /dev/null
@@ -1,133 +0,0 @@
-faker->unique()->userName;
- $slug = Str::slug($name);
-
- return [
- 'cig_id' => $cigId++,
- 'name' => $name,
- 'slug' => $slug,
- 'manufacturer_id' => Manufacturer::factory(),
- 'production_status_id' => ProductionStatus::factory(),
- 'production_note_id' => ProductionNote::factory(),
- 'size_id' => Size::factory(),
- 'type_id' => Type::factory(),
- 'length' => $this->faker->randomFloat(2, 0, 1000),
- 'beam' => $this->faker->randomFloat(2, 0, 1000),
- 'height' => $this->faker->randomFloat(2, 0, 1000),
- 'mass' => $this->faker->numberBetween(0, 1000),
- 'cargo_capacity' => $this->faker->numberBetween(0, 1000),
- 'min_crew' => $this->faker->numberBetween(0, 1000),
- 'max_crew' => $this->faker->numberBetween(0, 1000),
- 'scm_speed' => $this->faker->numberBetween(0, 1000),
- 'afterburner_speed' => $this->faker->numberBetween(0, 1000),
- 'pitch_max' => $this->faker->randomFloat(2, 0, 1000),
- 'yaw_max' => $this->faker->randomFloat(2, 0, 1000),
- 'roll_max' => $this->faker->randomFloat(2, 0, 1000),
- 'x_axis_acceleration' => $this->faker->randomFloat(2, 0, 1000),
- 'y_axis_acceleration' => $this->faker->randomFloat(2, 0, 1000),
- 'z_axis_acceleration' => $this->faker->randomFloat(2, 0, 1000),
- 'chassis_id' => $this->faker->numberBetween(0, 1000),
- ];
- }
-
- /**
- * Configure the model factory.
- *
- * @return $this
- */
- public function configure()
- {
- return $this->afterCreating(
- function (Vehicle $vehicle) {
- $vehicle->translations()->save(
- VehicleTranslation::factory()->make()
- );
- }
- );
- }
-
- public function groundVehicle()
- {
- return $this->state(
- function (array $attributes) {
- try {
- /** @var Type $type */
- $type = Type::where('slug', 'ground')->firstorFail();
- /** @var Size $size */
- $size = Size::where('slug', 'vehicle')->firstorFail();
- } catch (ModelNotFoundException $e) {
- /** @var Type $type */
- $type = Type::factory()->create(
- [
- 'slug' => 'ground',
- ]
- );
- /** @var Size $type */
- $size = Size::factory()->create(
- [
- 'slug' => 'vehicle',
- ]
- );
- }
-
- return [
- 'type_id' => $type->id,
- 'size_id' => $size->id,
- ];
- }
- );
- }
-
- public function ship()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'type_id' => Type::factory(),
- ];
- }
- );
- }
-}
diff --git a/database/factories/StarCitizen/Vehicle/Vehicle/VehicleTranslationFactory.php b/database/factories/StarCitizen/Vehicle/Vehicle/VehicleTranslationFactory.php
deleted file mode 100644
index 1fab36ddf..000000000
--- a/database/factories/StarCitizen/Vehicle/Vehicle/VehicleTranslationFactory.php
+++ /dev/null
@@ -1,63 +0,0 @@
- 'en_EN',
- 'translation' => 'Lorem Ipsum',
- ];
- }
-
- public function german()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'locale_code' => 'de_DE',
- 'translation' => 'Deutsches Lorem Ipsum',
- ];
- }
- );
- }
-
- public function english()
- {
- return $this->state(
- function (array $attributes) {
- return [
- 'locale_code' => 'en_EN',
- 'translation' => 'Lorem Ipsum dolor sit amet',
- ];
- }
- );
- }
-}
diff --git a/database/factories/System/LanguageFactory.php b/database/factories/System/LanguageFactory.php
index 269f5b886..e46728d4d 100644
--- a/database/factories/System/LanguageFactory.php
+++ b/database/factories/System/LanguageFactory.php
@@ -7,24 +7,26 @@
use App\Models\System\Language;
use Illuminate\Database\Eloquent\Factories\Factory;
+/**
+ * @extends \Illuminate\Database\Eloquent\Factories\Factory<\App\Models\System\Language>
+ */
class LanguageFactory extends Factory
{
- /**
- * The name of the factory's corresponding model.
- *
- * @var string
- */
protected $model = Language::class;
/**
* Define the model's default state.
*
- * @return array
+ * @return array
*/
- public function definition()
+ public function definition(): array
{
return [
-
+ 'code' => fake()->randomElement([
+ Language::ENGLISH,
+ Language::GERMAN,
+ Language::CHINESE,
+ ]),
];
}
}
diff --git a/database/factories/UserFactory.php b/database/factories/UserFactory.php
new file mode 100644
index 000000000..a94ed5077
--- /dev/null
+++ b/database/factories/UserFactory.php
@@ -0,0 +1,48 @@
+
+ */
+class UserFactory extends Factory
+{
+ /**
+ * The current password being used by the factory.
+ */
+ protected static ?string $password;
+
+ /**
+ * Define the model's default state.
+ *
+ * @return array
+ */
+ public function definition(): array
+ {
+ return [
+ 'name' => fake()->name(),
+ 'email' => fake()->unique()->safeEmail(),
+ 'email_verified_at' => now(),
+ 'password' => static::$password ??= Hash::make('password'),
+ 'language_id' => Language::factory(),
+ 'remember_token' => Str::random(10),
+ ];
+ }
+
+ /**
+ * Indicate that the model's email address should be unverified.
+ */
+ public function unverified(): static
+ {
+ return $this->state(fn (array $attributes) => [
+ 'email_verified_at' => null,
+ ]);
+ }
+}
diff --git a/database/migrations/0001_01_01_000000_create_users_table.php b/database/migrations/0001_01_01_000000_create_users_table.php
new file mode 100644
index 000000000..31dba267d
--- /dev/null
+++ b/database/migrations/0001_01_01_000000_create_users_table.php
@@ -0,0 +1,51 @@
+id();
+ $table->string('name');
+ $table->string('email')->unique();
+ $table->timestamp('email_verified_at')->nullable();
+ $table->string('password');
+ $table->unsignedBigInteger('language_id');
+ $table->boolean('is_admin')->default(false);
+ $table->rememberToken();
+ $table->timestamps();
+ });
+
+ Schema::create('password_reset_tokens', static function (Blueprint $table) {
+ $table->string('email')->primary();
+ $table->string('token');
+ $table->timestamp('created_at')->nullable();
+ });
+
+ Schema::create('sessions', static function (Blueprint $table) {
+ $table->string('id')->primary();
+ $table->foreignId('user_id')->nullable()->index();
+ $table->string('ip_address', 45)->nullable();
+ $table->text('user_agent')->nullable();
+ $table->longText('payload');
+ $table->integer('last_activity')->index();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('users');
+ Schema::dropIfExists('password_reset_tokens');
+ Schema::dropIfExists('sessions');
+ }
+};
diff --git a/database/migrations/0001_01_01_000001_create_cache_table.php b/database/migrations/0001_01_01_000001_create_cache_table.php
new file mode 100644
index 000000000..b9c106be8
--- /dev/null
+++ b/database/migrations/0001_01_01_000001_create_cache_table.php
@@ -0,0 +1,35 @@
+string('key')->primary();
+ $table->mediumText('value');
+ $table->integer('expiration');
+ });
+
+ Schema::create('cache_locks', function (Blueprint $table) {
+ $table->string('key')->primary();
+ $table->string('owner');
+ $table->integer('expiration');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('cache');
+ Schema::dropIfExists('cache_locks');
+ }
+};
diff --git a/database/migrations/0001_01_01_000002_create_jobs_table.php b/database/migrations/0001_01_01_000002_create_jobs_table.php
new file mode 100644
index 000000000..425e7058f
--- /dev/null
+++ b/database/migrations/0001_01_01_000002_create_jobs_table.php
@@ -0,0 +1,57 @@
+id();
+ $table->string('queue')->index();
+ $table->longText('payload');
+ $table->unsignedTinyInteger('attempts');
+ $table->unsignedInteger('reserved_at')->nullable();
+ $table->unsignedInteger('available_at');
+ $table->unsignedInteger('created_at');
+ });
+
+ Schema::create('job_batches', function (Blueprint $table) {
+ $table->string('id')->primary();
+ $table->string('name');
+ $table->integer('total_jobs');
+ $table->integer('pending_jobs');
+ $table->integer('failed_jobs');
+ $table->longText('failed_job_ids');
+ $table->mediumText('options')->nullable();
+ $table->integer('cancelled_at')->nullable();
+ $table->integer('created_at');
+ $table->integer('finished_at')->nullable();
+ });
+
+ Schema::create('failed_jobs', function (Blueprint $table) {
+ $table->id();
+ $table->string('uuid')->unique();
+ $table->text('connection');
+ $table->text('queue');
+ $table->longText('payload');
+ $table->longText('exception');
+ $table->timestamp('failed_at')->useCurrent();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('jobs');
+ Schema::dropIfExists('job_batches');
+ Schema::dropIfExists('failed_jobs');
+ }
+};
diff --git a/database/migrations/2025_11_28_200010_create_personal_access_tokens_table.php b/database/migrations/2025_11_28_200010_create_personal_access_tokens_table.php
new file mode 100644
index 000000000..40ff706ee
--- /dev/null
+++ b/database/migrations/2025_11_28_200010_create_personal_access_tokens_table.php
@@ -0,0 +1,33 @@
+id();
+ $table->morphs('tokenable');
+ $table->text('name');
+ $table->string('token', 64)->unique();
+ $table->text('abilities')->nullable();
+ $table->timestamp('last_used_at')->nullable();
+ $table->timestamp('expires_at')->nullable()->index();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('personal_access_tokens');
+ }
+};
diff --git a/database/migrations/2026_01_06_173446_add_two_factor_columns_to_users_table.php b/database/migrations/2026_01_06_173446_add_two_factor_columns_to_users_table.php
new file mode 100644
index 000000000..45739efa6
--- /dev/null
+++ b/database/migrations/2026_01_06_173446_add_two_factor_columns_to_users_table.php
@@ -0,0 +1,42 @@
+text('two_factor_secret')
+ ->after('password')
+ ->nullable();
+
+ $table->text('two_factor_recovery_codes')
+ ->after('two_factor_secret')
+ ->nullable();
+
+ $table->timestamp('two_factor_confirmed_at')
+ ->after('two_factor_recovery_codes')
+ ->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('users', function (Blueprint $table) {
+ $table->dropColumn([
+ 'two_factor_secret',
+ 'two_factor_recovery_codes',
+ 'two_factor_confirmed_at',
+ ]);
+ });
+ }
+};
diff --git a/database/migrations/base_structure/accounts/2017_03_20_122456_create_sessions_table.php b/database/migrations/base_structure/accounts/2017_03_20_122456_create_sessions_table.php
deleted file mode 100644
index d329ebf42..000000000
--- a/database/migrations/base_structure/accounts/2017_03_20_122456_create_sessions_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-string('id')->unique();
- $table->integer('user_id')->nullable();
- $table->string('ip_address', 45)->nullable();
- $table->text('user_agent')->nullable();
- $table->text('payload');
- $table->integer('last_activity');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('sessions');
- }
-}
diff --git a/database/migrations/base_structure/accounts/users/2017_08_10_215600_create_users_table.php b/database/migrations/base_structure/accounts/users/2017_08_10_215600_create_users_table.php
deleted file mode 100644
index 43842695e..000000000
--- a/database/migrations/base_structure/accounts/users/2017_08_10_215600_create_users_table.php
+++ /dev/null
@@ -1,48 +0,0 @@
-increments('id');
- $table->string('username')->unique();
- $table->string('email')->nullable()->unique();
- $table->boolean('blocked');
- $table->string('provider');
- $table->integer('provider_id');
- $table->string('api_token', 60)->unique();
- $table->timestamp('last_login')->nullable();
- $table->rememberToken();
- $table->timestamps();
-
- $table->unique(['provider_id', 'provider']);
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::drop('users');
- }
-}
diff --git a/database/migrations/base_structure/accounts/users/2017_08_10_215601_create_user_groups_table.php b/database/migrations/base_structure/accounts/users/2017_08_10_215601_create_user_groups_table.php
deleted file mode 100644
index f098b7f75..000000000
--- a/database/migrations/base_structure/accounts/users/2017_08_10_215601_create_user_groups_table.php
+++ /dev/null
@@ -1,41 +0,0 @@
-increments('id');
- $table->string('name')->unique();
- $table->integer('permission_level');
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('user_groups');
- }
-}
diff --git a/database/migrations/base_structure/accounts/users/2017_08_10_215602_create_user_user_group_table.php b/database/migrations/base_structure/accounts/users/2017_08_10_215602_create_user_user_group_table.php
deleted file mode 100644
index c55f4b548..000000000
--- a/database/migrations/base_structure/accounts/users/2017_08_10_215602_create_user_user_group_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-unsignedInteger('user_id');
- $table->unsignedInteger('user_group_id');
-
- $table->timestamps();
-
- $table->foreign('user_id')->references('id')->on('users');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('user_user_group');
- }
-}
diff --git a/database/migrations/base_structure/accounts/users/2018_09_13_213113_create_user_settings_table.php b/database/migrations/base_structure/accounts/users/2018_09_13_213113_create_user_settings_table.php
deleted file mode 100644
index 632df62f1..000000000
--- a/database/migrations/base_structure/accounts/users/2018_09_13_213113_create_user_settings_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-increments('id');
- $table->unsignedInteger('user_id')->unique();
- $table->boolean('receive_comm_link_notifications')->default(true);
- $table->boolean('receive_api_notifications')->default(false);
- $table->boolean('no_api_throttle')->default(false);
- $table->timestamps();
-
- $table->foreign('user_id')->references('id')->on('users');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('user_settings');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/2018_08_30_100005_create_comm_links_table.php b/database/migrations/base_structure/rsi/comm_link/2018_08_30_100005_create_comm_links_table.php
deleted file mode 100644
index 31fa3256c..000000000
--- a/database/migrations/base_structure/rsi/comm_link/2018_08_30_100005_create_comm_links_table.php
+++ /dev/null
@@ -1,52 +0,0 @@
-increments('id');
- $table->unsignedBigInteger('cig_id')->unique();
-
- $table->string('title');
- $table->unsignedBigInteger('comment_count');
- $table->string('url')->nullable();
-
- $table->string('file');
-
- $table->unsignedInteger('channel_id');
- $table->unsignedInteger('category_id');
- $table->unsignedInteger('series_id');
-
- $table->timestamps();
-
- $table->foreign('channel_id')->references('id')->on('comm_link_channels')->onDelete('cascade');
- $table->foreign('category_id')->references('id')->on('comm_link_categories')->onDelete('cascade');
- $table->foreign('series_id')->references('id')->on('comm_link_series')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_links');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/2018_08_30_100006_create_comm_link_translations_table.php b/database/migrations/base_structure/rsi/comm_link/2018_08_30_100006_create_comm_link_translations_table.php
deleted file mode 100644
index 2bd2ff7fa..000000000
--- a/database/migrations/base_structure/rsi/comm_link/2018_08_30_100006_create_comm_link_translations_table.php
+++ /dev/null
@@ -1,48 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('comm_link_id');
- $table->timestamps();
-
- $table->unique(['locale_code', 'comm_link_id'], 'comm_link_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('comm_link_id')->references('id')->on('comm_links')->onDelete('cascade');
- }
- );
-
- if (config('database.connection') === 'mysql') {
- DB::statement('ALTER TABLE comm_link_translations ADD COLUMN translation LONGBLOB AFTER comm_link_id');
- } else {
- DB::statement('ALTER TABLE comm_link_translations ADD COLUMN translation BLOB');
- }
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_link_translations');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/2018_08_30_100008_create_comm_link_comm_link_image_table.php b/database/migrations/base_structure/rsi/comm_link/2018_08_30_100008_create_comm_link_comm_link_image_table.php
deleted file mode 100644
index 9e77c1d11..000000000
--- a/database/migrations/base_structure/rsi/comm_link/2018_08_30_100008_create_comm_link_comm_link_image_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-unsignedInteger('comm_link_id');
- $table->unsignedInteger('comm_link_image_id');
-
- $table->foreign('comm_link_id')->references('id')->on('comm_links')->onDelete('cascade');
- $table->foreign('comm_link_image_id')->references('id')->on('comm_link_images')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_link_image');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/2018_08_30_100009_create_comm_link_comm_link_link_table.php b/database/migrations/base_structure/rsi/comm_link/2018_08_30_100009_create_comm_link_comm_link_link_table.php
deleted file mode 100644
index 664aa3fcb..000000000
--- a/database/migrations/base_structure/rsi/comm_link/2018_08_30_100009_create_comm_link_comm_link_link_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-unsignedInteger('comm_link_id');
- $table->unsignedInteger('comm_link_link_id');
-
- $table->foreign('comm_link_id')->references('id')->on('comm_links')->onDelete('cascade');
- $table->foreign('comm_link_link_id')->references('id')->on('comm_link_links')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_link_link');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/2018_09_12_143344_create_comm_links_changed_table.php b/database/migrations/base_structure/rsi/comm_link/2018_09_12_143344_create_comm_links_changed_table.php
deleted file mode 100644
index de86e5f03..000000000
--- a/database/migrations/base_structure/rsi/comm_link/2018_09_12_143344_create_comm_links_changed_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-increments('id');
- $table->unsignedInteger('comm_link_id');
- $table->boolean('had_content');
- $table->enum('type', ['update', 'creation']);
-
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_links_changed');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/category/2018_08_30_100001_create_comm_link_categories_table.php b/database/migrations/base_structure/rsi/comm_link/category/2018_08_30_100001_create_comm_link_categories_table.php
deleted file mode 100644
index c25ec92a5..000000000
--- a/database/migrations/base_structure/rsi/comm_link/category/2018_08_30_100001_create_comm_link_categories_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-increments('id');
- $table->string('name')->unique();
- $table->string('slug')->unique();
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_link_categories');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/channel/2018_08_30_100000_create_comm_link_channels_table.php b/database/migrations/base_structure/rsi/comm_link/channel/2018_08_30_100000_create_comm_link_channels_table.php
deleted file mode 100644
index 7e9f52020..000000000
--- a/database/migrations/base_structure/rsi/comm_link/channel/2018_08_30_100000_create_comm_link_channels_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-increments('id');
- $table->string('name')->unique();
- $table->string('slug')->unique();
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_link_channels');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/image/2018_08_30_100002_create_comm_link_images_table.php b/database/migrations/base_structure/rsi/comm_link/image/2018_08_30_100002_create_comm_link_images_table.php
deleted file mode 100644
index fc8a6aea0..000000000
--- a/database/migrations/base_structure/rsi/comm_link/image/2018_08_30_100002_create_comm_link_images_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-increments('id');
- $table->text('src');
- $table->text('alt'); //Thanks RSI???
- $table->boolean('local')->default(false);
- $table->string('dir')->nullable();
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_link_images');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/image/2020_09_12_140901_create_comm_link_image_hashes_table.php b/database/migrations/base_structure/rsi/comm_link/image/2020_09_12_140901_create_comm_link_image_hashes_table.php
deleted file mode 100644
index 29f2ea2d8..000000000
--- a/database/migrations/base_structure/rsi/comm_link/image/2020_09_12_140901_create_comm_link_image_hashes_table.php
+++ /dev/null
@@ -1,53 +0,0 @@
-id();
- $table->unsignedInteger('comm_link_image_id');
- $table->string('perceptual_hash', 16);
- $table->unsignedBigInteger('p_hash_1');
- $table->unsignedBigInteger('p_hash_2');
-
- $table->string('difference_hash', 16);
- $table->unsignedBigInteger('d_hash_1');
- $table->unsignedBigInteger('d_hash_2');
-
- $table->string('average_hash', 16);
- $table->unsignedBigInteger('a_hash_1');
- $table->unsignedBigInteger('a_hash_2');
-
- $table->timestamps();
-
- $table->foreign('comm_link_image_id')->references('id')->on('comm_link_images')->onDelete('cascade');
- $table->unique('comm_link_image_id');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('comm_link_image_hashes');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/image/2020_09_15_143508_create_comm_link_image_metadata_table.php b/database/migrations/base_structure/rsi/comm_link/image/2020_09_15_143508_create_comm_link_image_metadata_table.php
deleted file mode 100644
index 9521aaf96..000000000
--- a/database/migrations/base_structure/rsi/comm_link/image/2020_09_15_143508_create_comm_link_image_metadata_table.php
+++ /dev/null
@@ -1,50 +0,0 @@
-id();
- $table->unsignedInteger('comm_link_image_id');
-
- $table->unsignedBigInteger('size')->nullable();
- $table->string('mime')->nullable();
- $table->dateTime('last_modified')->nullable();
-
- $table->timestamps();
-
- $table->foreign('comm_link_image_id')->references('id')->on('comm_link_images')->onDelete('cascade');
- $table->unique('comm_link_image_id');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('comm_link_image_metadata');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/image/2023_12_20_173141_create_comm_link_image_tag_table.php b/database/migrations/base_structure/rsi/comm_link/image/2023_12_20_173141_create_comm_link_image_tag_table.php
deleted file mode 100644
index 4e940ce6a..000000000
--- a/database/migrations/base_structure/rsi/comm_link/image/2023_12_20_173141_create_comm_link_image_tag_table.php
+++ /dev/null
@@ -1,32 +0,0 @@
-unsignedInteger('image_id');
- $table->unsignedBigInteger('tag_id');
-
- $table->foreign('image_id')->references('id')->on('comm_link_images')->onDelete('cascade');
- $table->foreign('tag_id')->references('id')->on('comm_link_image_tags')->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('comm_link_image_tag');
- }
-};
diff --git a/database/migrations/base_structure/rsi/comm_link/link/2018_08_30_100003_create_comm_link_links_table.php b/database/migrations/base_structure/rsi/comm_link/link/2018_08_30_100003_create_comm_link_links_table.php
deleted file mode 100644
index d6fba3885..000000000
--- a/database/migrations/base_structure/rsi/comm_link/link/2018_08_30_100003_create_comm_link_links_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-increments('id');
- $table->text('href');
- $table->text('text'); //Thanks RSI
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_link_links');
- }
-}
diff --git a/database/migrations/base_structure/rsi/comm_link/series/2018_08_30_100002_create_comm_link_series_table.php b/database/migrations/base_structure/rsi/comm_link/series/2018_08_30_100002_create_comm_link_series_table.php
deleted file mode 100644
index 02f9f978a..000000000
--- a/database/migrations/base_structure/rsi/comm_link/series/2018_08_30_100002_create_comm_link_series_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-increments('id');
- $table->string('name')->unique();
- $table->string('slug')->unique();
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('comm_link_series');
- }
-}
diff --git a/database/migrations/base_structure/sc/2023_05_04_090000_create_sc_manufacturers_table.php b/database/migrations/base_structure/sc/2023_05_04_090000_create_sc_manufacturers_table.php
deleted file mode 100644
index 11e6afd95..000000000
--- a/database/migrations/base_structure/sc/2023_05_04_090000_create_sc_manufacturers_table.php
+++ /dev/null
@@ -1,30 +0,0 @@
-id();
- $table->uuid()->unique();
- $table->string('name');
- $table->string('code');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_manufacturers');
- }
-};
diff --git a/database/migrations/base_structure/sc/2023_05_05_134631_create_sc_shops_table.php b/database/migrations/base_structure/sc/2023_05_05_134631_create_sc_shops_table.php
deleted file mode 100644
index 78f825767..000000000
--- a/database/migrations/base_structure/sc/2023_05_05_134631_create_sc_shops_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->uuid()->unique();
- $table->string('name_raw');
- $table->string('name')->nullable();
- $table->string('position')->nullable();
- $table->double('profit_margin')->default(0);
- $table->string('version');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_shops');
- }
-};
diff --git a/database/migrations/base_structure/sc/2023_05_05_134638_create_sc_shop_item_table.php b/database/migrations/base_structure/sc/2023_05_05_134638_create_sc_shop_item_table.php
deleted file mode 100644
index c7c7184dc..000000000
--- a/database/migrations/base_structure/sc/2023_05_05_134638_create_sc_shop_item_table.php
+++ /dev/null
@@ -1,63 +0,0 @@
-unsignedBigInteger('shop_id');
- $table->unsignedBigInteger('item_id');
- $table->uuid('item_uuid');
- $table->uuid('shop_uuid');
- $table->uuid('node_uuid');
- $table->double('base_price');
- $table->double('base_price_offset');
- $table->double('max_discount');
- $table->double('max_premium');
- $table->double('inventory');
- $table->double('optimal_inventory');
- $table->double('max_inventory');
- $table->boolean('auto_restock');
- $table->boolean('auto_consume');
- $table->double('refresh_rate')->nullable();
- $table->boolean('buyable');
- $table->boolean('sellable');
- $table->boolean('rentable');
- $table->string('version');
-
- $table->primary(['shop_id', 'item_id', 'item_uuid', 'node_uuid', 'version'], 'sc_s_i_shop_item_primary');
- $table->index('item_uuid');
- $table->index('shop_uuid');
- $table->index('version');
-
- $table->foreign('item_uuid', 'fk_sc_s_i_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
-
- $table->foreign('shop_uuid', 'fk_sc_s_i_shop_uuid')
- ->references('uuid')
- ->on('sc_shops')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('sc_shop_item');
- }
-};
diff --git a/database/migrations/base_structure/sc/2024_04_22_194116_create_sc_entity_tags_table.php b/database/migrations/base_structure/sc/2024_04_22_194116_create_sc_entity_tags_table.php
deleted file mode 100644
index 4c1292840..000000000
--- a/database/migrations/base_structure/sc/2024_04_22_194116_create_sc_entity_tags_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-id();
- $table->uuid('tag');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_entity_tags');
- }
-};
diff --git a/database/migrations/base_structure/sc/ammunition/2024_03_11_195644_create_sc_item_ammunitions_table.php b/database/migrations/base_structure/sc/ammunition/2024_03_11_195644_create_sc_item_ammunitions_table.php
deleted file mode 100644
index 1fbaa6fa8..000000000
--- a/database/migrations/base_structure/sc/ammunition/2024_03_11_195644_create_sc_item_ammunitions_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->uuid()->unique();
- $table->unsignedInteger('size');
- $table->unsignedDouble('lifetime');
- $table->unsignedDouble('speed');
- $table->unsignedDouble('range');
-
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_ammunitions');
- }
-};
diff --git a/database/migrations/base_structure/sc/ammunition/2024_03_11_200119_create_sc_item_ammunition_damages_table.php b/database/migrations/base_structure/sc/ammunition/2024_03_11_200119_create_sc_item_ammunition_damages_table.php
deleted file mode 100644
index 7eb8ce684..000000000
--- a/database/migrations/base_structure/sc/ammunition/2024_03_11_200119_create_sc_item_ammunition_damages_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->uuid('ammunition_uuid');
- $table->string('type');
- $table->string('name');
-
- $table->unsignedDouble('damage');
-
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_ammunition_damages');
- }
-};
diff --git a/database/migrations/base_structure/sc/ammunition/2024_03_11_200124_create_sc_item_ammunition_damage_falloffs_table.php b/database/migrations/base_structure/sc/ammunition/2024_03_11_200124_create_sc_item_ammunition_damage_falloffs_table.php
deleted file mode 100644
index a8f9f0deb..000000000
--- a/database/migrations/base_structure/sc/ammunition/2024_03_11_200124_create_sc_item_ammunition_damage_falloffs_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-id();
- $table->uuid('ammunition_uuid');
- $table->string('type');
- $table->double('physical')->default(0);
- $table->double('energy')->default(0);
- $table->double('distortion')->default(0);
- $table->double('thermal')->default(0);
- $table->double('biochemical')->default(0);
- $table->double('stun')->default(0);
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_ammunition_damage_falloffs');
- }
-};
diff --git a/database/migrations/base_structure/sc/ammunition/2024_03_11_200131_create_sc_item_ammunition_piercabilities_table.php b/database/migrations/base_structure/sc/ammunition/2024_03_11_200131_create_sc_item_ammunition_piercabilities_table.php
deleted file mode 100644
index 34b47ce42..000000000
--- a/database/migrations/base_structure/sc/ammunition/2024_03_11_200131_create_sc_item_ammunition_piercabilities_table.php
+++ /dev/null
@@ -1,32 +0,0 @@
-id();
- $table->uuid('ammunition_uuid');
- $table->double('damage_falloff_level_1')->default(0);
- $table->double('damage_falloff_level_2')->default(0);
- $table->double('damage_falloff_level_3')->default(0);
- $table->double('max_penetration_thickness')->default(0);
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_ammunition_piercabilities');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/2023_05_04_094036_create_sc_clothing_resistances_table.php b/database/migrations/base_structure/sc/char/2023_05_04_094036_create_sc_clothing_resistances_table.php
deleted file mode 100644
index 2a6c03a6d..000000000
--- a/database/migrations/base_structure/sc/char/2023_05_04_094036_create_sc_clothing_resistances_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->uuid('item_uuid');
- $table->string('type');
- $table->double('multiplier')->nullable();
- $table->double('threshold')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fK_sc_c_res_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_clothing_resistances');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/2025_11_25_175718_create_sc_clothing_radiation_resistances_table.php b/database/migrations/base_structure/sc/char/2025_11_25_175718_create_sc_clothing_radiation_resistances_table.php
deleted file mode 100644
index 7ba7cb784..000000000
--- a/database/migrations/base_structure/sc/char/2025_11_25_175718_create_sc_clothing_radiation_resistances_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-id();
- $table->uuid('item_uuid');
- $table->double('maximum_radiation_capacity')->nullable();
- $table->double('radiation_dissipation_rate')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_c_r_res_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_clothing_radiation_resistances');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/food/2023_05_04_093440_create_sc_foods_table.php b/database/migrations/base_structure/sc/char/food/2023_05_04_093440_create_sc_foods_table.php
deleted file mode 100644
index 6dffec9a3..000000000
--- a/database/migrations/base_structure/sc/char/food/2023_05_04_093440_create_sc_foods_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->unsignedInteger('nutritional_density_rating')->nullable();
- $table->unsignedInteger('hydration_efficacy_index')->nullable();
- $table->string('container_type')->nullable();
- $table->boolean('one_shot_consume')->nullable();
- $table->boolean('can_be_reclosed')->nullable();
- $table->boolean('discard_when_consumed')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_foo_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_foods');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/food/2023_05_04_093550_create_sc_food_effects_table.php b/database/migrations/base_structure/sc/char/food/2023_05_04_093550_create_sc_food_effects_table.php
deleted file mode 100644
index 0b81ca852..000000000
--- a/database/migrations/base_structure/sc/char/food/2023_05_04_093550_create_sc_food_effects_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-id();
- $table->string('name')->unique();
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_food_effects');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/food/2023_05_04_093621_create_sc_food_effect_table.php b/database/migrations/base_structure/sc/char/food/2023_05_04_093621_create_sc_food_effect_table.php
deleted file mode 100644
index 1b20e5a06..000000000
--- a/database/migrations/base_structure/sc/char/food/2023_05_04_093621_create_sc_food_effect_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-unsignedBigInteger('food_id');
- $table->unsignedBigInteger('food_effect_id');
-
- $table->foreign('food_id', 'fk_sc_f_eff_food_id')
- ->references('id')
- ->on('sc_foods')
- ->onDelete('cascade');
-
- $table->foreign('food_effect_id', 'fk_sc_f_eff_food_effect_id')
- ->references('id')
- ->on('sc_food_effects')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_food_effect');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/weapon/2023_05_04_094534_create_sc_personal_weapon_modes_table.php b/database/migrations/base_structure/sc/char/weapon/2023_05_04_094534_create_sc_personal_weapon_modes_table.php
deleted file mode 100644
index ec2bcaddd..000000000
--- a/database/migrations/base_structure/sc/char/weapon/2023_05_04_094534_create_sc_personal_weapon_modes_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->uuid('item_uuid');
- $table->string('mode');
- $table->string('localised');
- $table->string('type');
- $table->unsignedDouble('rounds_per_minute');
- $table->unsignedDouble('ammo_per_shot');
- $table->unsignedDouble('pellets_per_shot');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_p_w_mod_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_personal_weapon_modes');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/weapon/2023_05_04_094707_create_sc_personal_weapon_ammunitions_table.php b/database/migrations/base_structure/sc/char/weapon/2023_05_04_094707_create_sc_personal_weapon_ammunitions_table.php
deleted file mode 100644
index f5b699d32..000000000
--- a/database/migrations/base_structure/sc/char/weapon/2023_05_04_094707_create_sc_personal_weapon_ammunitions_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-id();
- $table->uuid('item_uuid');
- $table->unsignedInteger('size');
- $table->unsignedDouble('lifetime');
- $table->unsignedDouble('speed');
- $table->unsignedDouble('range');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_p_w_amm_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_personal_weapon_ammunitions');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/weapon/2023_05_04_094819_create_sc_item_personal_weapon_magazines_table.php b/database/migrations/base_structure/sc/char/weapon/2023_05_04_094819_create_sc_item_personal_weapon_magazines_table.php
deleted file mode 100644
index 21e41d06f..000000000
--- a/database/migrations/base_structure/sc/char/weapon/2023_05_04_094819_create_sc_item_personal_weapon_magazines_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->unsignedDouble('initial_ammo_count')->nullable();
- $table->unsignedDouble('max_ammo_count')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_p_w_mag_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_personal_weapon_magazines');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/weapon/2023_05_04_095019_create_sc_personal_weapon_ammunition_damages_table.php b/database/migrations/base_structure/sc/char/weapon/2023_05_04_095019_create_sc_personal_weapon_ammunition_damages_table.php
deleted file mode 100644
index f499c7f4a..000000000
--- a/database/migrations/base_structure/sc/char/weapon/2023_05_04_095019_create_sc_personal_weapon_ammunition_damages_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->unsignedBigInteger('ammunition_id');
- $table->string('type');
- $table->string('name');
-
- $table->unsignedDouble('damage');
-
- $table->timestamps();
-
- $table->foreign('ammunition_id', 'fk_sc_p_w_a_dam_ammunition_id')
- ->references('id')
- ->on('sc_personal_weapon_ammunitions')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_personal_weapon_ammunition_damages');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_191203_create_sc_item_knifes_table.php b/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_191203_create_sc_item_knifes_table.php
deleted file mode 100644
index 8d56aaae6..000000000
--- a/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_191203_create_sc_item_knifes_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->uuid('item_uuid');
- $table->boolean('can_be_used_for_take_down');
- $table->boolean('can_block');
- $table->boolean('can_be_used_in_prone');
- $table->boolean('can_dodge');
- $table->uuid('melee_combat_config_uuid');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_knifes');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_191651_create_sc_melee_combat_configs_table.php b/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_191651_create_sc_melee_combat_configs_table.php
deleted file mode 100644
index d9b6dca68..000000000
--- a/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_191651_create_sc_melee_combat_configs_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-id();
- $table->uuid();
- $table->string('category');
- $table->double('stun_recovery_modifier');
- $table->double('block_stun_reduction_modifier');
- $table->double('block_stun_stamina_modifier');
- $table->double('attack_impulse');
- $table->boolean('ignore_body_part_impulse_scale');
- $table->boolean('fullbody_animation');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_melee_combat_configs');
- }
-};
diff --git a/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_192321_create_sc_melee_combat_damages_table.php b/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_192321_create_sc_melee_combat_damages_table.php
deleted file mode 100644
index 77975e1f6..000000000
--- a/database/migrations/base_structure/sc/char/weapon/knife/2024_04_13_192321_create_sc_melee_combat_damages_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-id();
- $table->unsignedBigInteger('combat_config_id');
- $table->string('name');
-
- $table->unsignedDouble('damage');
-
- $table->timestamps();
-
- $table->foreign('combat_config_id', 'fk_sc_m_c_con_combat_config_id')
- ->references('id')
- ->on('sc_melee_combat_configs')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_melee_combat_damages');
- }
-};
diff --git a/database/migrations/base_structure/sc/factions/2024_05_01_133242_create_sc_factions_table.php b/database/migrations/base_structure/sc/factions/2024_05_01_133242_create_sc_factions_table.php
deleted file mode 100644
index 35c085a46..000000000
--- a/database/migrations/base_structure/sc/factions/2024_05_01_133242_create_sc_factions_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->uuid();
- $table->string('name');
- $table->string('class_name');
- $table->string('description')->nullable();
- $table->string('game_token');
- $table->string('default_reaction');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_factions');
- }
-};
diff --git a/database/migrations/base_structure/sc/factions/2024_05_01_133303_create_sc_faction_relations_table.php b/database/migrations/base_structure/sc/factions/2024_05_01_133303_create_sc_faction_relations_table.php
deleted file mode 100644
index b4993a215..000000000
--- a/database/migrations/base_structure/sc/factions/2024_05_01_133303_create_sc_faction_relations_table.php
+++ /dev/null
@@ -1,30 +0,0 @@
-id();
- $table->unsignedBigInteger('faction_id');
- $table->uuid('other_faction_uuid');
- $table->string('relation');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_faction_relations');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_04_095924_create_sc_item_grenades_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_04_095924_create_sc_item_grenades_table.php
deleted file mode 100644
index 77d6753ad..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_04_095924_create_sc_item_grenades_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->string('aoe')->nullable();
- $table->string('damage_type')->nullable();
- $table->string('damage')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_gre_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_grenades');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_06_085335_create_sc_item_flight_controllers_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_06_085335_create_sc_item_flight_controllers_table.php
deleted file mode 100644
index 2b934390d..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_06_085335_create_sc_item_flight_controllers_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->unsignedDouble('scm_speed')->nullable();
- $table->unsignedDouble('max_speed')->nullable();
- $table->unsignedDouble('pitch')->nullable();
- $table->unsignedDouble('yaw')->nullable();
- $table->unsignedDouble('roll')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_v_f_con_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_flight_controllers');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_06_103819_create_sc_item_thrusters_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_06_103819_create_sc_item_thrusters_table.php
deleted file mode 100644
index 8c73f4bb9..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_06_103819_create_sc_item_thrusters_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('thrust_capacity');
- $table->unsignedDouble('min_health_thrust_multiplier');
- $table->unsignedDouble('fuel_burn_per_10k_newton');
- $table->string('type');
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_thr_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_thrusters');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_06_114538_create_sc_item_coolers_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_06_114538_create_sc_item_coolers_table.php
deleted file mode 100644
index e7e56c6dc..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_06_114538_create_sc_item_coolers_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->unsignedDouble('cooling_rate');
- $table->unsignedDouble('suppression_ir_factor')->nullable();
- $table->unsignedDouble('suppression_heat_factor')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_coo_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_coolers');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_06_114556_create_sc_item_power_plants_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_06_114556_create_sc_item_power_plants_table.php
deleted file mode 100644
index 04b5a5bc8..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_06_114556_create_sc_item_power_plants_table.php
+++ /dev/null
@@ -1,34 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->unsignedDouble('power_output');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_p_pla_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_power_plants');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_06_114609_create_sc_item_self_destrucs_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_06_114609_create_sc_item_self_destrucs_table.php
deleted file mode 100644
index 7d62f8064..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_06_114609_create_sc_item_self_destrucs_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('damage');
- $table->unsignedDouble('min_radius');
- $table->unsignedDouble('radius');
- $table->unsignedDouble('phys_radius');
- $table->unsignedDouble('min_phys_radius');
- $table->unsignedDouble('time');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_s_des_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_self_destrucs');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_07_192649_create_sc_item_shields_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_07_192649_create_sc_item_shields_table.php
deleted file mode 100644
index 947afd474..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_07_192649_create_sc_item_shields_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->unsignedDouble('max_shield_health');
- $table->unsignedDouble('max_shield_regen');
- $table->unsignedDouble('decay_ratio');
- $table->unsignedDouble('downed_regen_delay');
- $table->unsignedDouble('damage_regen_delay');
- $table->unsignedDouble('max_reallocation');
- $table->unsignedDouble('reallocation_rate');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_shi_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_shields');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_07_193119_create_sc_item_fuel_tanks_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_07_193119_create_sc_item_fuel_tanks_table.php
deleted file mode 100644
index 84ca2a983..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_07_193119_create_sc_item_fuel_tanks_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('fill_rate');
- $table->unsignedDouble('drain_rate');
- $table->unsignedDouble('capacity');
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_f_tan_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_fuel_tanks');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_07_193654_create_sc_item_fuel_intakes_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_07_193654_create_sc_item_fuel_intakes_table.php
deleted file mode 100644
index a7ae95bbf..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_07_193654_create_sc_item_fuel_intakes_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('fuel_push_rate');
- $table->unsignedDouble('minimum_rate');
- $table->timestamps();
-
- $table->foreign('item_uuid', 's_i_f_int_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_fuel_intakes');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_08_182446_create_sc_item_mining_lasers_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_08_182446_create_sc_item_mining_lasers_table.php
deleted file mode 100644
index 99c703cce..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_08_182446_create_sc_item_mining_lasers_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('power_transfer')->nullable();
- $table->unsignedDouble('optimal_range')->nullable();
- $table->unsignedDouble('maximum_range')->nullable();
- $table->unsignedDouble('extraction_throughput')->nullable();
- $table->unsignedInteger('module_slots')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_m_las_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_mining_lasers');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_10_193111_create_sc_item_emps_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_10_193111_create_sc_item_emps_table.php
deleted file mode 100644
index 4d348f29a..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_10_193111_create_sc_item_emps_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('charge_duration')->nullable();
- $table->unsignedDouble('emp_radius')->nullable();
- $table->unsignedDouble('unleash_duration')->nullable();
- $table->unsignedDouble('cooldown_duration')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_emp_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_emps');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_10_193130_create_sc_item_qigs_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_10_193130_create_sc_item_qigs_table.php
deleted file mode 100644
index 694987b9a..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_10_193130_create_sc_item_qigs_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('jammer_range')->nullable();
- $table->unsignedDouble('interdiction_range')->nullable();
- $table->unsignedDouble('charge_duration')->nullable();
- $table->unsignedDouble('discharge_duration')->nullable();
- $table->unsignedDouble('cooldown_duration')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_qig_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_qigs');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_05_24_113227_create_sc_item_armors_table.php b/database/migrations/base_structure/sc/item_specifications/2023_05_24_113227_create_sc_item_armors_table.php
deleted file mode 100644
index 2d6e435c1..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_05_24_113227_create_sc_item_armors_table.php
+++ /dev/null
@@ -1,44 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('signal_infrared')->nullable();
- $table->unsignedDouble('signal_electromagnetic')->nullable();
- $table->unsignedDouble('signal_cross_section')->nullable();
- $table->unsignedDouble('damage_physical')->nullable();
- $table->unsignedDouble('damage_energy')->nullable();
- $table->unsignedDouble('damage_distortion')->nullable();
- $table->unsignedDouble('damage_thermal')->nullable();
- $table->unsignedDouble('damage_biochemical')->nullable();
- $table->unsignedDouble('damage_stun')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_arm_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_armors');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_11_25_211324_create_sc_item_tractorbeams_table.php b/database/migrations/base_structure/sc/item_specifications/2023_11_25_211324_create_sc_item_tractorbeams_table.php
deleted file mode 100644
index 271c4f447..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_11_25_211324_create_sc_item_tractorbeams_table.php
+++ /dev/null
@@ -1,47 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('min_force')->nullable();
- $table->unsignedDouble('max_force')->nullable();
- $table->unsignedDouble('min_distance')->nullable();
- $table->unsignedDouble('max_distance')->nullable();
- $table->unsignedDouble('full_strength_distance')->nullable();
- $table->unsignedDouble('max_angle')->nullable();
- $table->unsignedDouble('max_volume')->nullable();
- $table->unsignedDouble('volume_force_coefficient')->nullable();
- $table->unsignedDouble('tether_break_time')->nullable();
- $table->unsignedDouble('safe_range_value_factor')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_tractorbeam_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_tractorbeams');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2023_11_26_103552_create_sc_item_salvage_modifiers_table.php b/database/migrations/base_structure/sc/item_specifications/2023_11_26_103552_create_sc_item_salvage_modifiers_table.php
deleted file mode 100644
index 1a5da4f87..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2023_11_26_103552_create_sc_item_salvage_modifiers_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('salvage_speed_multiplier')->nullable();
- $table->unsignedDouble('radius_multiplier')->nullable();
- $table->unsignedDouble('extraction_efficiency')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_salvagemod_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_salvage_modifiers');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2024_03_03_114158_create_sc_item_iron_sights_table.php b/database/migrations/base_structure/sc/item_specifications/2024_03_03_114158_create_sc_item_iron_sights_table.php
deleted file mode 100644
index 48794d805..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2024_03_03_114158_create_sc_item_iron_sights_table.php
+++ /dev/null
@@ -1,41 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('default_range')->nullable();
- $table->unsignedDouble('max_range')->nullable();
- $table->unsignedDouble('range_increment')->nullable();
- $table->unsignedDouble('auto_zeroing_time')->nullable();
- $table->unsignedInteger('zoom_scale')->nullable();
- $table->unsignedInteger('zoom_time_scale')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_i_sig_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_iron_sights');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/2024_03_09_113259_create_sc_item_hacking_chips_table.php b/database/migrations/base_structure/sc/item_specifications/2024_03_09_113259_create_sc_item_hacking_chips_table.php
deleted file mode 100644
index 53f1584f6..000000000
--- a/database/migrations/base_structure/sc/item_specifications/2024_03_09_113259_create_sc_item_hacking_chips_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('max_charges')->nullable();
- $table->unsignedDouble('duration_multiplier')->nullable();
- $table->unsignedDouble('error_chance')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_h_chi_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_hacking_chips');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/bomb/2024_03_02_165734_sc_item_bombs_table.php b/database/migrations/base_structure/sc/item_specifications/bomb/2024_03_02_165734_sc_item_bombs_table.php
deleted file mode 100644
index ce687b081..000000000
--- a/database/migrations/base_structure/sc/item_specifications/bomb/2024_03_02_165734_sc_item_bombs_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->unsignedDouble('arm_time')->nullable();
- $table->unsignedDouble('ignite_time')->nullable();
- $table->unsignedDouble('collision_delay_time')->nullable();
- $table->unsignedDouble('explosion_safety_distance')->nullable();
- $table->unsignedDouble('explosion_radius_min')->nullable();
- $table->unsignedDouble('explosion_radius_max')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_bom_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_bombs');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/bomb/2024_03_02_165830_sc_item_bomb_damages_table.php b/database/migrations/base_structure/sc/item_specifications/bomb/2024_03_02_165830_sc_item_bomb_damages_table.php
deleted file mode 100644
index efb9f6749..000000000
--- a/database/migrations/base_structure/sc/item_specifications/bomb/2024_03_02_165830_sc_item_bomb_damages_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->unsignedBigInteger('bomb_id');
- $table->string('name');
- $table->unsignedDouble('damage');
-
- $table->timestamps();
-
- $table->foreign('bomb_id', 'fk_sc_i_b_dam_bomb_id')
- ->references('id')
- ->on('sc_item_bombs')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_bomb_damages');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/missile/2023_05_08_135542_create_sc_item_missiles_table.php b/database/migrations/base_structure/sc/item_specifications/missile/2023_05_08_135542_create_sc_item_missiles_table.php
deleted file mode 100644
index 6633020aa..000000000
--- a/database/migrations/base_structure/sc/item_specifications/missile/2023_05_08_135542_create_sc_item_missiles_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->string('signal_type');
- $table->unsignedDouble('lock_time');
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_mis_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_missiles');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/missile/2023_05_08_135654_create_sc_item_missile_damages_table.php b/database/migrations/base_structure/sc/item_specifications/missile/2023_05_08_135654_create_sc_item_missile_damages_table.php
deleted file mode 100644
index eaae7e431..000000000
--- a/database/migrations/base_structure/sc/item_specifications/missile/2023_05_08_135654_create_sc_item_missile_damages_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->unsignedBigInteger('missile_id');
- $table->string('name');
- $table->unsignedDouble('damage');
-
- $table->timestamps();
-
- $table->foreign('missile_id', 'fk_sc_i_m_dam_missile_id')
- ->references('id')
- ->on('sc_item_missiles')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_missile_damages');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/quantum_drive/2023_05_07_191416_create_sc_item_quantum_drives_table.php b/database/migrations/base_structure/sc/item_specifications/quantum_drive/2023_05_07_191416_create_sc_item_quantum_drives_table.php
deleted file mode 100644
index d77cddc9c..000000000
--- a/database/migrations/base_structure/sc/item_specifications/quantum_drive/2023_05_07_191416_create_sc_item_quantum_drives_table.php
+++ /dev/null
@@ -1,45 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('quantum_fuel_requirement');
- $table->string('jump_range');
- $table->unsignedDouble('disconnect_range');
-
- $table->unsignedDouble('pre_ramp_up_thermal_energy_draw');
- $table->unsignedDouble('ramp_up_thermal_energy_draw');
- $table->unsignedDouble('in_flight_thermal_energy_draw');
- $table->unsignedDouble('ramp_down_thermal_energy_draw');
- $table->unsignedDouble('post_ramp_down_thermal_energy_draw');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_q_dri_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_quantum_drives');
- }
-};
diff --git a/database/migrations/base_structure/sc/item_specifications/quantum_drive/2023_05_07_191429_create_sc_item_quantum_drive_modes_table.php b/database/migrations/base_structure/sc/item_specifications/quantum_drive/2023_05_07_191429_create_sc_item_quantum_drive_modes_table.php
deleted file mode 100644
index 3d2966756..000000000
--- a/database/migrations/base_structure/sc/item_specifications/quantum_drive/2023_05_07_191429_create_sc_item_quantum_drive_modes_table.php
+++ /dev/null
@@ -1,49 +0,0 @@
-id();
- $table->unsignedBigInteger('quantum_drive_id');
-
- $table->string('type');
-
- $table->unsignedDouble('drive_speed');
- $table->unsignedDouble('cooldown_time');
- $table->unsignedDouble('stage_one_accel_rate');
- $table->unsignedDouble('stage_two_accel_rate');
- $table->unsignedDouble('engage_speed');
- $table->unsignedDouble('interdiction_effect_time');
- $table->unsignedDouble('calibration_rate');
- $table->unsignedDouble('min_calibration_requirement');
- $table->unsignedDouble('max_calibration_requirement');
- $table->unsignedDouble('calibration_process_angle_limit');
- $table->unsignedDouble('calibration_warning_angle_limit');
- $table->unsignedDouble('spool_up_time');
-
- $table->timestamps();
-
- $table->foreign('quantum_drive_id', 'fk_sc_i_q_d_mod_quantum_drive_id')
- ->references('id')
- ->on('sc_item_quantum_drives')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_quantum_drive_modes');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_04_090225_create_sc_items_table.php b/database/migrations/base_structure/sc/items/2023_05_04_090225_create_sc_items_table.php
deleted file mode 100644
index 3be976688..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_04_090225_create_sc_items_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->string('uuid')->unique();
- $table->string('name');
- $table->string('type')->nullable();
- $table->string('sub_type')->nullable();
- $table->unsignedBigInteger('manufacturer_id');
- $table->unsignedInteger('size')->nullable();
- $table->string('class_name')->nullable();
- $table->string('version');
- $table->timestamps();
-
- $table->foreign('manufacturer_id', 'fk_sc_ite_manufacturer_id')
- ->references('id')
- ->on('sc_manufacturers')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_items');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_04_090341_create_sc_item_ports_table.php b/database/migrations/base_structure/sc/items/2023_05_04_090341_create_sc_item_ports_table.php
deleted file mode 100644
index 1f284111e..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_04_090341_create_sc_item_ports_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->string('item_uuid');
-
- $table->string('name');
- $table->string('display_name');
- $table->uuid('equipped_item_uuid')->nullable();
- $table->unsignedInteger('min_size')->nullable();
- $table->unsignedInteger('max_size')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_por_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_ports');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_04_090513_create_sc_item_dimensions_table.php b/database/migrations/base_structure/sc/items/2023_05_04_090513_create_sc_item_dimensions_table.php
deleted file mode 100644
index ab2bc8edd..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_04_090513_create_sc_item_dimensions_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->string('item_uuid');
-
- $table->unsignedDouble('width');
- $table->unsignedDouble('height');
- $table->unsignedDouble('length');
- $table->unsignedDouble('volume')->nullable();
- $table->boolean('override');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_dim_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_dimensions');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_04_091000_create_sc_item_translations_table.php b/database/migrations/base_structure/sc/items/2023_05_04_091000_create_sc_item_translations_table.php
deleted file mode 100644
index 194e3f108..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_04_091000_create_sc_item_translations_table.php
+++ /dev/null
@@ -1,41 +0,0 @@
-id();
- $table->uuid('item_uuid');
- $table->char('locale_code', 5);
- $table->text('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'item_uuid'], 'u_sc_i_tra_locale_code_item_uuid');
-
- $table->foreign('locale_code', 'fk_sc_i_tra_locale')
- ->references('locale_code')
- ->on('languages');
-
- $table->foreign('item_uuid', 'fk_sc_i_tra_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_translations');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_04_091517_create_sc_item_containers_table.php b/database/migrations/base_structure/sc/items/2023_05_04_091517_create_sc_item_containers_table.php
deleted file mode 100644
index db579f21a..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_04_091517_create_sc_item_containers_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
-
- $table->unsignedDouble('width');
- $table->unsignedDouble('height');
- $table->unsignedDouble('length');
- $table->unsignedDouble('scu');
- $table->unsignedInteger('unit');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_i_con_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_containers');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_06_091248_create_sc_item_power_data_table.php b/database/migrations/base_structure/sc/items/2023_05_06_091248_create_sc_item_power_data_table.php
deleted file mode 100644
index 9bb87c722..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_06_091248_create_sc_item_power_data_table.php
+++ /dev/null
@@ -1,44 +0,0 @@
-id();
- $table->uuid('item_uuid');
-
- $table->unsignedDouble('power_base')->nullable();
- $table->unsignedDouble('power_draw')->nullable();
- $table->boolean('throttleable')->default(false);
- $table->boolean('overclockable')->default(false);
- $table->unsignedDouble('overclock_threshold_min')->nullable();
- $table->unsignedDouble('overclock_threshold_max')->nullable();
- $table->unsignedDouble('overclock_performance')->nullable();
- $table->unsignedDouble('overpower_performance')->nullable();
- $table->unsignedDouble('power_to_em')->nullable();
- $table->unsignedDouble('decay_rate_em')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'sc_i_p_dat_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_power_data');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_06_091301_create_sc_item_heat_data_table.php b/database/migrations/base_structure/sc/items/2023_05_06_091301_create_sc_item_heat_data_table.php
deleted file mode 100644
index 663053cc5..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_06_091301_create_sc_item_heat_data_table.php
+++ /dev/null
@@ -1,52 +0,0 @@
-id();
- $table->uuid('item_uuid');
-
- $table->unsignedDouble('temperature_to_ir')->nullable();
- $table->unsignedDouble('overpower_heat')->nullable();
- $table->unsignedDouble('overclock_threshold_min')->nullable();
- $table->unsignedDouble('overclock_threshold_max')->nullable();
- $table->unsignedDouble('thermal_energy_base')->nullable();
- $table->unsignedDouble('thermal_energy_draw')->nullable();
- $table->unsignedDouble('thermal_conductivity')->nullable();
- $table->unsignedDouble('specific_heat_capacity')->nullable();
- $table->unsignedDouble('mass')->nullable();
- $table->unsignedDouble('surface_area')->nullable();
- $table->unsignedDouble('start_cooling_temperature')->nullable();
- $table->unsignedDouble('max_cooling_rate')->nullable();
- $table->unsignedDouble('max_temperature')->nullable();
- $table->unsignedDouble('min_temperature')->nullable();
- $table->unsignedDouble('overheat_temperature')->nullable();
- $table->unsignedDouble('recovery_temperature')->nullable();
- $table->unsignedDouble('misfire_min_temperature')->nullable();
- $table->unsignedDouble('misfire_max_temperature')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'sc_i_h_dat_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_heat_data');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_06_091320_create_sc_item_distortion_data_table.php b/database/migrations/base_structure/sc/items/2023_05_06_091320_create_sc_item_distortion_data_table.php
deleted file mode 100644
index 852cb8223..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_06_091320_create_sc_item_distortion_data_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->uuid('item_uuid');
-
- $table->unsignedDouble('decay_rate')->nullable();
- $table->unsignedDouble('maximum')->nullable();
- $table->unsignedDouble('overload_ratio')->nullable();
- $table->unsignedDouble('recovery_ratio')->nullable();
- $table->unsignedDouble('recovery_time')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'sc_i_d_dat_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_distortion_data');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_06_091333_create_sc_item_durability_data_table.php b/database/migrations/base_structure/sc/items/2023_05_06_091333_create_sc_item_durability_data_table.php
deleted file mode 100644
index 3d7820233..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_06_091333_create_sc_item_durability_data_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->uuid('item_uuid');
-
- $table->unsignedDouble('health')->nullable();
- $table->unsignedDouble('max_lifetime')->nullable();
- $table->boolean('salvageable')->nullable();
- $table->boolean('repairable')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'sc_i_dur_dat_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_durability_data');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_05_18_083317_create_sc_item_description_data_table.php b/database/migrations/base_structure/sc/items/2023_05_18_083317_create_sc_item_description_data_table.php
deleted file mode 100644
index 40e685f6f..000000000
--- a/database/migrations/base_structure/sc/items/2023_05_18_083317_create_sc_item_description_data_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->uuid('item_uuid');
-
- $table->string('name');
- $table->string('value');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'sc_i_des_dat_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_description_data');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_06_09_215747_create_sc_item_tags_table.php b/database/migrations/base_structure/sc/items/2023_06_09_215747_create_sc_item_tags_table.php
deleted file mode 100644
index e05ce408d..000000000
--- a/database/migrations/base_structure/sc/items/2023_06_09_215747_create_sc_item_tags_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-id();
- $table->string('name')->unique();
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_tags');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_06_09_215749_create_sc_item_tag_table.php b/database/migrations/base_structure/sc/items/2023_06_09_215749_create_sc_item_tag_table.php
deleted file mode 100644
index 3257b3531..000000000
--- a/database/migrations/base_structure/sc/items/2023_06_09_215749_create_sc_item_tag_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-unsignedBigInteger('item_id');
- $table->unsignedBigInteger('tag_id');
- $table->boolean('is_required_tag')->default(false);
-
- $table->foreign('item_id', 'sc_i_tag_item_id')
- ->references('id')
- ->on('sc_items')
- ->onDelete('cascade');
-
- $table->foreign('tag_id', 'sc_i_tag_tag_id')
- ->references('id')
- ->on('sc_item_tags')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_tag');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_06_09_215758_create_sc_item_port_tag_table.php b/database/migrations/base_structure/sc/items/2023_06_09_215758_create_sc_item_port_tag_table.php
deleted file mode 100644
index 34d8fb957..000000000
--- a/database/migrations/base_structure/sc/items/2023_06_09_215758_create_sc_item_port_tag_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-unsignedBigInteger('item_port_id');
- $table->unsignedBigInteger('tag_id');
- $table->boolean('is_required_tag')->default(false);
-
- $table->foreign('tag_id', 'sc_i_p_tag_tag_id')
- ->references('id')
- ->on('sc_item_tags')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_port_tag');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_07_26_104428_create_sc_item_interactions_table.php b/database/migrations/base_structure/sc/items/2023_07_26_104428_create_sc_item_interactions_table.php
deleted file mode 100644
index 684fba1e4..000000000
--- a/database/migrations/base_structure/sc/items/2023_07_26_104428_create_sc_item_interactions_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-id();
- $table->string('name')->unique();
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_interactions');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2023_07_26_104433_create_sc_item_interaction_table.php b/database/migrations/base_structure/sc/items/2023_07_26_104433_create_sc_item_interaction_table.php
deleted file mode 100644
index 1f795c945..000000000
--- a/database/migrations/base_structure/sc/items/2023_07_26_104433_create_sc_item_interaction_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-unsignedBigInteger('item_id');
- $table->unsignedBigInteger('interaction_id');
-
- $table->foreign('item_id', 'sc_i_interaction_item_id')
- ->references('id')
- ->on('sc_items')
- ->onDelete('cascade');
-
- $table->foreign('interaction_id', 'sc_i_interaction_interaction_id')
- ->references('id')
- ->on('sc_item_interactions')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_interaction');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2024_03_09_125854_create_sc_item_weapon_modifier_data_table.php b/database/migrations/base_structure/sc/items/2024_03_09_125854_create_sc_item_weapon_modifier_data_table.php
deleted file mode 100644
index aab45df14..000000000
--- a/database/migrations/base_structure/sc/items/2024_03_09_125854_create_sc_item_weapon_modifier_data_table.php
+++ /dev/null
@@ -1,70 +0,0 @@
-id();
- $table->string('item_uuid')->unique();
-
- $table->double('fire_rate_multiplier')->nullable();
- $table->double('damage_multiplier')->nullable();
- $table->double('damage_over_time_multiplier')->nullable();
- $table->double('projectile_speed_multiplier')->nullable();
- $table->double('ammo_cost_multiplier')->nullable();
- $table->double('heat_generation_multiplier')->nullable();
- $table->double('sound_radius_multiplier')->nullable();
- $table->double('charge_time_multiplier')->nullable();
-
- $table->double('recoil_decay_multiplier')->nullable();
- $table->double('recoil_end_decay_multiplier')->nullable();
- $table->double('recoil_fire_recoil_time_multiplier')->nullable();
- $table->double('recoil_fire_recoil_strength_first_multiplier')->nullable();
- $table->double('recoil_fire_recoil_strength_multiplier')->nullable();
- $table->double('recoil_angle_recoil_strength_multiplier')->nullable();
- $table->double('recoil_randomness_multiplier')->nullable();
- $table->double('recoil_randomness_back_push_multiplier')->nullable();
- $table->double('recoil_frontal_oscillation_rotation_multiplier')->nullable();
- $table->double('recoil_frontal_oscillation_strength_multiplier')->nullable();
- $table->double('recoil_frontal_oscillation_decay_multiplier')->nullable();
- $table->double('recoil_frontal_oscillation_randomness_multiplier')->nullable();
- $table->double('recoil_animated_recoil_multiplier')->nullable();
-
- $table->double('spread_min_multiplier')->nullable();
- $table->double('spread_max_multiplier')->nullable();
- $table->double('spread_first_attack_multiplier')->nullable();
- $table->double('spread_attack_multiplier')->nullable();
- $table->double('spread_decay_multiplier')->nullable();
- $table->double('spread_additive_modifier')->nullable();
-
- $table->double('aim_zoom_scale')->nullable();
- $table->double('aim_zoom_time_scale')->nullable();
-
- $table->double('salvage_speed_multiplier')->nullable();
- $table->double('salvage_radius_multiplier')->nullable();
- $table->double('salvage_extraction_efficiency')->nullable();
- $table->timestamps();
-
- $table->foreign('item_uuid', 'sc_i_w_m_dat_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_weapon_modifier_data');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2024_03_15_135349_create_item_types_table.php b/database/migrations/base_structure/sc/items/2024_03_15_135349_create_item_types_table.php
deleted file mode 100644
index 89848ceeb..000000000
--- a/database/migrations/base_structure/sc/items/2024_03_15_135349_create_item_types_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-id();
- $table->string('type');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_types');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2024_03_15_135350_create_item_port_type_table.php b/database/migrations/base_structure/sc/items/2024_03_15_135350_create_item_port_type_table.php
deleted file mode 100644
index 2ffdba382..000000000
--- a/database/migrations/base_structure/sc/items/2024_03_15_135350_create_item_port_type_table.php
+++ /dev/null
@@ -1,30 +0,0 @@
-id();
- $table->unsignedBigInteger('item_port_id');
- $table->unsignedBigInteger('item_type_id');
-
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_port_type');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2024_03_15_135354_create_item_sub_types_table.php b/database/migrations/base_structure/sc/items/2024_03_15_135354_create_item_sub_types_table.php
deleted file mode 100644
index 517dbd794..000000000
--- a/database/migrations/base_structure/sc/items/2024_03_15_135354_create_item_sub_types_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-id();
- $table->string('sub_type');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_sub_types');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2024_03_15_135355_create_item_port_type_sub_type_table.php b/database/migrations/base_structure/sc/items/2024_03_15_135355_create_item_port_type_sub_type_table.php
deleted file mode 100644
index 426b921ae..000000000
--- a/database/migrations/base_structure/sc/items/2024_03_15_135355_create_item_port_type_sub_type_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-unsignedBigInteger('item_port_type_id');
- $table->unsignedBigInteger('sub_type_id');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_port_type_sub_type');
- }
-};
diff --git a/database/migrations/base_structure/sc/items/2024_04_22_194242_create_sc_item_entity_tag_table.php b/database/migrations/base_structure/sc/items/2024_04_22_194242_create_sc_item_entity_tag_table.php
deleted file mode 100644
index b247f13fb..000000000
--- a/database/migrations/base_structure/sc/items/2024_04_22_194242_create_sc_item_entity_tag_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-unsignedBigInteger('item_id');
- $table->unsignedBigInteger('entity_tag_id');
-
- $table->foreign('item_id', 'sc_i_e_tag_item_id')
- ->references('id')
- ->on('sc_items')
- ->onDelete('cascade');
-
- $table->foreign('entity_tag_id', 'sc_i_e_tag_tag_id')
- ->references('id')
- ->on('sc_entity_tags')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_item_entity_tag');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_152514_create_sc_missions_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_152514_create_sc_missions_table.php
deleted file mode 100644
index ec8cda6ae..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_152514_create_sc_missions_table.php
+++ /dev/null
@@ -1,75 +0,0 @@
-id();
- $table->uuid();
- $table->boolean('not_for_release');
- $table->string('title');
- $table->string('title_hud');
- $table->string('mission_giver');
- $table->string('comms_channel_name');
- $table->unsignedInteger('type_id')->nullable();
- $table->string('locality_available');
- $table->string('location_mission_available');
- $table->boolean('initially_active');
- $table->boolean('notify_on_available');
- $table->boolean('show_as_offer');
- $table->double('mission_buy_in_amount');
- $table->double('refund_buy_in_on_withdraw');
- $table->boolean('has_complete_button');
- $table->boolean('handles_abandon_request');
- $table->integer('mission_module_per_player');
- $table->integer('max_instances');
- $table->integer('max_players_per_instance');
- $table->integer('max_instances_per_player');
- $table->boolean('can_be_shared');
- $table->boolean('once_only');
- $table->boolean('tutorial');
- $table->boolean('display_allied_markers');
- $table->boolean('available_in_prison');
- $table->boolean('fail_if_sent_to_prison');
- $table->boolean('fail_if_became_criminal');
- $table->boolean('fail_if_leave_prison');
- $table->boolean('request_only');
- $table->double('respawn_time');
- $table->double('respawn_time_variation');
- $table->boolean('instance_has_life_time');
- $table->boolean('show_life_time_in_mobi_glas');
- $table->double('instance_life_time');
- $table->double('instance_life_time_variation');
- $table->boolean('can_reaccept_after_abandoning');
- $table->double('abandoned_cooldown_time');
- $table->double('abandoned_cooldown_time_variation');
- $table->boolean('can_reaccept_after_failing');
- $table->boolean('has_personal_cooldown');
- $table->double('personal_cooldown_time');
- $table->double('personal_cooldown_time_variation');
- $table->boolean('module_handles_own_shutdown');
- $table->uuid('linked_mission');
- $table->boolean('lawful_mission');
- $table->unsignedBigInteger('giver_id')->nullable();
- $table->uuid('invitation_mission');
- $table->string('version');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_missions');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_152524_create_sc_mission_rewards_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_152524_create_sc_mission_rewards_table.php
deleted file mode 100644
index 8bbad28b7..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_152524_create_sc_mission_rewards_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->unsignedBigInteger('mission_id');
- $table->double('amount');
- $table->double('max');
- $table->boolean('plus_bonuses');
- $table->string('currency');
- $table->uuid('reputation_bonus');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_mission_rewards');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_152548_create_sc_mission_deadlines_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_152548_create_sc_mission_deadlines_table.php
deleted file mode 100644
index d97870542..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_152548_create_sc_mission_deadlines_table.php
+++ /dev/null
@@ -1,32 +0,0 @@
-id();
- $table->unsignedBigInteger('mission_id');
- $table->double('mission_completion_time');
- $table->boolean('mission_auto_end');
- $table->string('mission_result_after_timer_end');
- $table->string('mission_end_reason');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_mission_deadlines');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_153127_create_sc_mission_required_missions_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_153127_create_sc_mission_required_missions_table.php
deleted file mode 100644
index b29f8c26b..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_153127_create_sc_mission_required_missions_table.php
+++ /dev/null
@@ -1,27 +0,0 @@
-unsignedBigInteger('mission_id');
- $table->unsignedBigInteger('required_mission_id');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_mission_required_missions');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_162532_create_sc_mission_translations_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_162532_create_sc_mission_translations_table.php
deleted file mode 100644
index 135944f9e..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_162532_create_sc_mission_translations_table.php
+++ /dev/null
@@ -1,30 +0,0 @@
-id();
- $table->uuid('mission_uuid');
- $table->char('locale_code', 5);
- $table->text('translation');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_mission_translations');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_163548_create_sc_mission_associated_missions_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_163548_create_sc_mission_associated_missions_table.php
deleted file mode 100644
index 72a399063..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_163548_create_sc_mission_associated_missions_table.php
+++ /dev/null
@@ -1,27 +0,0 @@
-unsignedBigInteger('mission_id');
- $table->unsignedBigInteger('associated_mission_id');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_mission_associated_missions');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_175948_create_sc_mission_types_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_175948_create_sc_mission_types_table.php
deleted file mode 100644
index 0d99b5d99..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_175948_create_sc_mission_types_table.php
+++ /dev/null
@@ -1,29 +0,0 @@
-id();
- $table->uuid();
- $table->string('name');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_mission_types');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_175955_create_sc_mission_givers_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_175955_create_sc_mission_givers_table.php
deleted file mode 100644
index ed5947dac..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_175955_create_sc_mission_givers_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-id();
- $table->uuid();
- $table->string('name')->nullable();
- $table->string('headquarters')->nullable();
- $table->double('invitation_timeout');
- $table->double('visit_timeout');
- $table->double('short_cooldown');
- $table->double('medium_cooldown');
- $table->double('long_cooldown');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_mission_givers');
- }
-};
diff --git a/database/migrations/base_structure/sc/missions/2024_05_01_180032_create_sc_mission_giver_translations_table.php b/database/migrations/base_structure/sc/missions/2024_05_01_180032_create_sc_mission_giver_translations_table.php
deleted file mode 100644
index 81d6ec3f8..000000000
--- a/database/migrations/base_structure/sc/missions/2024_05_01_180032_create_sc_mission_giver_translations_table.php
+++ /dev/null
@@ -1,30 +0,0 @@
-id();
- $table->uuid('giver_uuid');
- $table->char('locale_code', 5);
- $table->text('translation');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_mission_giver_translations');
- }
-};
diff --git a/database/migrations/base_structure/sc/reputation/2024_05_01_135237_create_sc_reputation_rewards_table.php b/database/migrations/base_structure/sc/reputation/2024_05_01_135237_create_sc_reputation_rewards_table.php
deleted file mode 100644
index de564453d..000000000
--- a/database/migrations/base_structure/sc/reputation/2024_05_01_135237_create_sc_reputation_rewards_table.php
+++ /dev/null
@@ -1,31 +0,0 @@
-id();
- $table->uuid();
- $table->string('class_name');
- $table->string('editor_name');
- $table->double('reputation_amount');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_reputation_rewards');
- }
-};
diff --git a/database/migrations/base_structure/sc/reputation/2024_05_01_135252_create_sc_reputation_standings_table.php b/database/migrations/base_structure/sc/reputation/2024_05_01_135252_create_sc_reputation_standings_table.php
deleted file mode 100644
index 6056a7016..000000000
--- a/database/migrations/base_structure/sc/reputation/2024_05_01_135252_create_sc_reputation_standings_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-id();
- $table->uuid();
- $table->string('name');
- $table->string('description')->nullable();
- $table->string('display_name')->nullable();
- $table->string('perk_description')->nullable();
- $table->double('min_reputation');
- $table->double('drift_reputation');
- $table->double('drift_time_hours');
- $table->boolean('gated');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_reputation_standings');
- }
-};
diff --git a/database/migrations/base_structure/sc/reputation/2024_05_01_135358_create_sc_reputation_scopes_table.php b/database/migrations/base_structure/sc/reputation/2024_05_01_135358_create_sc_reputation_scopes_table.php
deleted file mode 100644
index efa02c8bd..000000000
--- a/database/migrations/base_structure/sc/reputation/2024_05_01_135358_create_sc_reputation_scopes_table.php
+++ /dev/null
@@ -1,34 +0,0 @@
-id();
- $table->uuid();
- $table->string('scope_name');
- $table->string('display_name');
- $table->string('description')->nullable();
- $table->string('class_name');
- $table->double('initial_reputation');
- $table->double('reputation_ceiling');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_reputation_scopes');
- }
-};
diff --git a/database/migrations/base_structure/sc/reputation/2024_05_01_135411_create_sc_reputation_scope_standing_table.php b/database/migrations/base_structure/sc/reputation/2024_05_01_135411_create_sc_reputation_scope_standing_table.php
deleted file mode 100644
index 25043f100..000000000
--- a/database/migrations/base_structure/sc/reputation/2024_05_01_135411_create_sc_reputation_scope_standing_table.php
+++ /dev/null
@@ -1,27 +0,0 @@
-unsignedInteger('standing_id');
- $table->unsignedInteger('scope_id');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_reputation_scope_standing');
- }
-};
diff --git a/database/migrations/base_structure/sc/shops/2023_05_05_134631_create_sc_shops_table.php b/database/migrations/base_structure/sc/shops/2023_05_05_134631_create_sc_shops_table.php
deleted file mode 100644
index 78f825767..000000000
--- a/database/migrations/base_structure/sc/shops/2023_05_05_134631_create_sc_shops_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->uuid()->unique();
- $table->string('name_raw');
- $table->string('name')->nullable();
- $table->string('position')->nullable();
- $table->double('profit_margin')->default(0);
- $table->string('version');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_shops');
- }
-};
diff --git a/database/migrations/base_structure/sc/shops/2023_05_05_134638_create_sc_shop_item_table.php b/database/migrations/base_structure/sc/shops/2023_05_05_134638_create_sc_shop_item_table.php
deleted file mode 100644
index c7c7184dc..000000000
--- a/database/migrations/base_structure/sc/shops/2023_05_05_134638_create_sc_shop_item_table.php
+++ /dev/null
@@ -1,63 +0,0 @@
-unsignedBigInteger('shop_id');
- $table->unsignedBigInteger('item_id');
- $table->uuid('item_uuid');
- $table->uuid('shop_uuid');
- $table->uuid('node_uuid');
- $table->double('base_price');
- $table->double('base_price_offset');
- $table->double('max_discount');
- $table->double('max_premium');
- $table->double('inventory');
- $table->double('optimal_inventory');
- $table->double('max_inventory');
- $table->boolean('auto_restock');
- $table->boolean('auto_consume');
- $table->double('refresh_rate')->nullable();
- $table->boolean('buyable');
- $table->boolean('sellable');
- $table->boolean('rentable');
- $table->string('version');
-
- $table->primary(['shop_id', 'item_id', 'item_uuid', 'node_uuid', 'version'], 'sc_s_i_shop_item_primary');
- $table->index('item_uuid');
- $table->index('shop_uuid');
- $table->index('version');
-
- $table->foreign('item_uuid', 'fk_sc_s_i_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
-
- $table->foreign('shop_uuid', 'fk_sc_s_i_shop_uuid')
- ->references('uuid')
- ->on('sc_shops')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('sc_shop_item');
- }
-};
diff --git a/database/migrations/base_structure/sc/shops/2023_05_09_140345_create_sc_shop_item_rentals_table.php b/database/migrations/base_structure/sc/shops/2023_05_09_140345_create_sc_shop_item_rentals_table.php
deleted file mode 100644
index 5fa29d7d0..000000000
--- a/database/migrations/base_structure/sc/shops/2023_05_09_140345_create_sc_shop_item_rentals_table.php
+++ /dev/null
@@ -1,50 +0,0 @@
-uuid('item_uuid');
- $table->uuid('shop_uuid');
- $table->uuid('node_uuid');
-
- $table->float('percentage_1');
- $table->float('percentage_3');
- $table->float('percentage_7');
- $table->float('percentage_30');
-
- $table->string('version');
-
- $table->primary(['shop_uuid', 'item_uuid', 'node_uuid', 'version'], 'sc_s_i_ren_primary');
- $table->index('item_uuid');
- $table->index('shop_uuid');
- $table->index('version');
-
- $table->foreign('item_uuid', 'fk_sc_s_i_ren_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
-
- $table->foreign('shop_uuid', 'fk_sc_s_i_ren_shop_uuid')
- ->references('uuid')
- ->on('sc_shops')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_shop_item_rentals');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/2023_05_04_100304_create_sc_vehicles_table.php b/database/migrations/base_structure/sc/vehicles/2023_05_04_100304_create_sc_vehicles_table.php
deleted file mode 100644
index ae523852c..000000000
--- a/database/migrations/base_structure/sc/vehicles/2023_05_04_100304_create_sc_vehicles_table.php
+++ /dev/null
@@ -1,64 +0,0 @@
-id();
- $table->uuid('item_uuid');
- $table->unsignedInteger('shipmatrix_id');
- $table->string('class_name')->unique();
- $table->string('name');
- $table->string('career');
- $table->string('role');
- $table->boolean('is_ship')->default(true);
- $table->unsignedInteger('size');
-
- $table->unsignedDouble('width');
- $table->unsignedDouble('height');
- $table->unsignedDouble('length');
-
- $table->unsignedInteger('crew');
- $table->unsignedInteger('weapon_crew');
- $table->unsignedInteger('operations_crew');
- $table->unsignedBigInteger('mass');
-
- $table->unsignedDouble('zero_to_scm');
- $table->unsignedDouble('zero_to_max');
-
- $table->unsignedDouble('scm_to_zero');
- $table->unsignedDouble('max_to_zero');
-
- $table->unsignedDouble('acceleration_main');
- $table->unsignedDouble('acceleration_retro');
- $table->unsignedDouble('acceleration_vtol');
- $table->unsignedDouble('acceleration_maneuvering');
-
- $table->unsignedDouble('acceleration_g_main');
- $table->unsignedDouble('acceleration_g_retro');
- $table->unsignedDouble('acceleration_g_vtol');
- $table->unsignedDouble('acceleration_g_maneuvering');
-
- $table->unsignedDouble('claim_time');
- $table->unsignedDouble('expedite_time');
- $table->unsignedDouble('expedite_cost');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicles');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/2023_05_05_204615_create_sc_vehicle_hardpoints_table.php b/database/migrations/base_structure/sc/vehicles/2023_05_05_204615_create_sc_vehicle_hardpoints_table.php
deleted file mode 100644
index dff0654e8..000000000
--- a/database/migrations/base_structure/sc/vehicles/2023_05_05_204615_create_sc_vehicle_hardpoints_table.php
+++ /dev/null
@@ -1,45 +0,0 @@
-id();
- $table->unsignedBigInteger('vehicle_id');
- $table->unsignedBigInteger('parent_hardpoint_id')->nullable();
-
- $table->string('hardpoint_name');
-
- $table->uuid('equipped_item_uuid')->nullable();
-
- $table->unsignedInteger('min_size')->nullable();
- $table->unsignedInteger('max_size')->nullable();
-
- $table->string('class_name')->nullable();
-
- $table->index('vehicle_id');
- $table->index('parent_hardpoint_id');
-
- $table->foreign('vehicle_id', 'fk_sc_v_h_vehicle_id')
- ->references('id')
- ->on('sc_vehicles')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_hardpoints');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/2023_05_28_193214_create_sc_vehicle_handlings_table.php b/database/migrations/base_structure/sc/vehicles/2023_05_28_193214_create_sc_vehicle_handlings_table.php
deleted file mode 100644
index e34f5075e..000000000
--- a/database/migrations/base_structure/sc/vehicles/2023_05_28_193214_create_sc_vehicle_handlings_table.php
+++ /dev/null
@@ -1,41 +0,0 @@
-id();
- $table->unsignedBigInteger('vehicle_id');
- $table->unsignedDouble('max_speed');
- $table->unsignedDouble('reverse_speed');
- $table->unsignedDouble('acceleration');
- $table->unsignedDouble('deceleration');
- $table->unsignedDouble('v0_steer_max');
- $table->unsignedDouble('kv_steer_max');
- $table->unsignedDouble('vmax_steer_max');
-
- $table->timestamps();
-
- $table->foreign('vehicle_id', 'fk_sc_v_han_vehicle_id')
- ->references('id')
- ->on('sc_vehicles')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_handlings');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/2023_06_01_131028_create_sc_vehicle_parts_table.php b/database/migrations/base_structure/sc/vehicles/2023_06_01_131028_create_sc_vehicle_parts_table.php
deleted file mode 100644
index 0c62c16de..000000000
--- a/database/migrations/base_structure/sc/vehicles/2023_06_01_131028_create_sc_vehicle_parts_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-id();
- $table->unsignedBigInteger('vehicle_id');
- $table->unsignedBigInteger('parent_id')->nullable();
- $table->string('name');
- $table->unsignedDouble('damage_max');
-
- $table->timestamps();
-
- $table->foreign('vehicle_id', 'fk_sc_v_parts_vehicle_id')
- ->references('id')
- ->on('sc_vehicles')
- ->onDelete('cascade');
-
- $table->foreign('parent_id', 'fk_sc_v_parts_parent_id')
- ->references('id')
- ->on('sc_vehicle_parts')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_parts');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/2025_05_29_102932_create_sc_vehicle_cargo_grids_table.php b/database/migrations/base_structure/sc/vehicles/2025_05_29_102932_create_sc_vehicle_cargo_grids_table.php
deleted file mode 100644
index c2c2e7edb..000000000
--- a/database/migrations/base_structure/sc/vehicles/2025_05_29_102932_create_sc_vehicle_cargo_grids_table.php
+++ /dev/null
@@ -1,47 +0,0 @@
-id();
- $table->unsignedBigInteger('vehicle_id');
- $table->uuid('container_uuid');
- $table->unsignedInteger('capacity');
- $table->text('unit_name');
-
- $table->unsignedDouble('x')->nullable();
- $table->unsignedDouble('y')->nullable();
- $table->unsignedDouble('z')->nullable();
-
- $table->unsignedDouble('min_x')->nullable();
- $table->unsignedDouble('min_y')->nullable();
- $table->unsignedDouble('min_z')->nullable();
-
- $table->unsignedDouble('max_x')->nullable();
- $table->unsignedDouble('max_y')->nullable();
- $table->unsignedDouble('max_z')->nullable();
-
- $table->boolean('is_open')->default(false);
- $table->boolean('is_external')->default(false);
- $table->boolean('is_closed')->default(false);
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_cargo_grids');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074448_create_sc_vehicle_weapons_table.php b/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074448_create_sc_vehicle_weapons_table.php
deleted file mode 100644
index b9578f2ab..000000000
--- a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074448_create_sc_vehicle_weapons_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-id();
- $table->uuid('item_uuid')->unique();
- $table->unsignedDouble('capacity')->nullable();
-
- $table->timestamps();
-
- $table->foreign('item_uuid', 'fk_sc_v_wea_item_uuid')
- ->references('uuid')
- ->on('sc_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_weapons');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074509_create_sc_vehicle_weapon_ammunitions_table.php b/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074509_create_sc_vehicle_weapon_ammunitions_table.php
deleted file mode 100644
index 20b960da4..000000000
--- a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074509_create_sc_vehicle_weapon_ammunitions_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
- $table->unsignedInteger('size');
- $table->unsignedDouble('lifetime');
- $table->unsignedDouble('speed');
- $table->unsignedDouble('range');
- $table->timestamps();
-
- $table->foreign('weapon_id', 'fk_sc_v_w_amm_weapon_id')
- ->references('id')
- ->on('sc_vehicle_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_weapon_ammunitions');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074520_create_sc_vehicle_weapon_ammunition_damages_table.php b/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074520_create_sc_vehicle_weapon_ammunition_damages_table.php
deleted file mode 100644
index dcec3589a..000000000
--- a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074520_create_sc_vehicle_weapon_ammunition_damages_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->unsignedBigInteger('ammunition_id');
- $table->string('type');
- $table->string('name');
-
- $table->unsignedDouble('damage');
-
- $table->timestamps();
-
- $table->foreign('ammunition_id', 'fk_sc_v_w_a_dam_ammunition_id')
- ->references('id')
- ->on('sc_vehicle_weapon_ammunitions')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_weapon_ammunition_damages');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074531_create_sc_vehicle_weapon_modes_table.php b/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074531_create_sc_vehicle_weapon_modes_table.php
deleted file mode 100644
index 6c5b8440b..000000000
--- a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074531_create_sc_vehicle_weapon_modes_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
- $table->string('mode')->nullable();
- $table->string('localised')->nullable();
- $table->string('type')->nullable();
- $table->unsignedDouble('rounds_per_minute')->nullable();
- $table->unsignedDouble('ammo_per_shot')->nullable();
- $table->unsignedDouble('pellets_per_shot')->nullable();
- $table->timestamps();
-
- $table->foreign('weapon_id', 'fk_sc_v_w_mod_vehicle_weapon_id')
- ->references('id')
- ->on('sc_vehicle_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_weapon_modes');
- }
-};
diff --git a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074539_create_sc_vehicle_weapon_regeneration_table.php b/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074539_create_sc_vehicle_weapon_regeneration_table.php
deleted file mode 100644
index b036893a6..000000000
--- a/database/migrations/base_structure/sc/vehicles/weapon/2023_05_08_074539_create_sc_vehicle_weapon_regeneration_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
- $table->unsignedDouble('requested_regen_per_sec')->nullable();
- $table->unsignedDouble('requested_ammo_load')->nullable();
- $table->unsignedDouble('cooldown')->nullable();
- $table->unsignedDouble('cost_per_bullet')->nullable();
-
- $table->timestamps();
-
- $table->foreign('weapon_id', 'sc_v_w_reg_weapon_id')
- ->references('id')
- ->on('sc_vehicle_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('sc_vehicle_weapon_regeneration');
- }
-};
diff --git a/database/migrations/base_structure/sc_unpacked/2021_04_15_000000_create_sc_unpacked_items.php b/database/migrations/base_structure/sc_unpacked/2021_04_15_000000_create_sc_unpacked_items.php
deleted file mode 100644
index f124146be..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_04_15_000000_create_sc_unpacked_items.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->string('uuid')->unique();
- $table->string('name');
- $table->string('type')->nullable();
- $table->string('sub_type')->nullable();
- $table->string('manufacturer')->nullable();
- $table->unsignedInteger('size')->default(0);
- $table->string('version');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_items');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_04_16_115633_create_sc_unpacked_vehicles_table.php b/database/migrations/base_structure/sc_unpacked/2021_04_16_115633_create_sc_unpacked_vehicles_table.php
deleted file mode 100644
index 80247a834..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_04_16_115633_create_sc_unpacked_vehicles_table.php
+++ /dev/null
@@ -1,84 +0,0 @@
-id();
- $table->unsignedInteger('shipmatrix_id');
- $table->string('class_name');
- $table->string('name')->unique();
- $table->string('career');
- $table->string('role');
- $table->boolean('is_ship')->default(true);
- $table->unsignedInteger('size')->default(0);
- $table->unsignedInteger('cargo_capacity')->default(0);
- $table->unsignedInteger('crew')->default(0);
- $table->unsignedInteger('weapon_crew')->default(0);
- $table->unsignedInteger('operations_crew')->default(0);
- $table->unsignedBigInteger('mass')->default(0);
-
- $table->unsignedDouble('health_nose')->default(0);
- $table->unsignedDouble('health_body')->default(0);
-
- $table->unsignedDouble('scm_speed')->default(0);
- $table->unsignedDouble('max_speed')->default(0);
-
- $table->unsignedDouble('zero_to_scm')->default(0);
- $table->unsignedDouble('zero_to_max')->default(0);
-
- $table->unsignedDouble('scm_to_zero')->default(0);
- $table->unsignedDouble('max_to_zero')->default(0);
-
- $table->unsignedDouble('acceleration_main')->default(0);
- $table->unsignedDouble('acceleration_retro')->default(0);
- $table->unsignedDouble('acceleration_vtol')->default(0);
- $table->unsignedDouble('acceleration_maneuvering')->default(0);
-
- $table->unsignedDouble('acceleration_g_main')->default(0);
- $table->unsignedDouble('acceleration_g_retro')->default(0);
- $table->unsignedDouble('acceleration_g_vtol')->default(0);
- $table->unsignedDouble('acceleration_g_maneuvering')->default(0);
-
- $table->unsignedDouble('fuel_capacity')->default(0);
- $table->unsignedDouble('fuel_intake_rate')->default(0);
- $table->unsignedDouble('fuel_usage_main')->default(0);
- $table->unsignedDouble('fuel_usage_retro')->default(0);
- $table->unsignedDouble('fuel_usage_vtol')->default(0);
- $table->unsignedDouble('fuel_usage_maneuvering')->default(0);
-
- $table->unsignedDouble('quantum_speed')->default(0);
- $table->unsignedDouble('quantum_spool_time')->default(0);
- $table->unsignedDouble('quantum_fuel_capacity')->default(0);
- $table->unsignedDouble('quantum_range')->default(0);
-
- $table->unsignedDouble('claim_time')->default(0);
- $table->unsignedDouble('expedite_time')->default(0);
- $table->unsignedDouble('expedite_cost')->default(0);
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicles');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_04_21_164620_create_sc_unpacked_item_translations_table.php b/database/migrations/base_structure/sc_unpacked/2021_04_21_164620_create_sc_unpacked_item_translations_table.php
deleted file mode 100644
index de25523e2..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_04_21_164620_create_sc_unpacked_item_translations_table.php
+++ /dev/null
@@ -1,45 +0,0 @@
-id();
- $table->char('locale_code', 5);
- $table->string('item_uuid');
- $table->text('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'item_uuid'], 'sc_unpacked_item_translations_primary');
- $table->foreign('locale_code', 'sc_unpacked_item_translations_locale')
- ->references('locale_code')
- ->on('languages');
- $table->foreign('item_uuid', 'item_id_trans_foreign')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_item_translations');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_02_090429_create_sc_unpacked_vehicle_hardpoints_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_02_090429_create_sc_unpacked_vehicle_hardpoints_table.php
deleted file mode 100644
index ffb3eff84..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_02_090429_create_sc_unpacked_vehicle_hardpoints_table.php
+++ /dev/null
@@ -1,49 +0,0 @@
-id();
- $table->unsignedBigInteger('vehicle_id');
- $table->unsignedBigInteger('parent_hardpoint_id')->nullable();
-
- $table->string('hardpoint_name');
-
- $table->uuid('equipped_vehicle_item_uuid')->nullable();
-
- $table->unsignedInteger('min_size')->nullable();
- $table->unsignedInteger('max_size')->nullable();
-
- $table->string('class_name')->nullable();
-
- $table->index('vehicle_id');
- $table->index('parent_hardpoint_id', 'hardpoint_parent_index');
-
- $table->foreign('vehicle_id', 'vehicle_hardpoint_vehicle_id')
- ->references('id')
- ->on('star_citizen_unpacked_vehicles')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_hardpoints');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_02_103840_create_sc_unpacked_vehicle_turrets_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_02_103840_create_sc_unpacked_vehicle_turrets_table.php
deleted file mode 100644
index fb3bda237..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_02_103840_create_sc_unpacked_vehicle_turrets_table.php
+++ /dev/null
@@ -1,49 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedInteger('max_mounts');
-
- $table->unsignedInteger('min_size');
- $table->unsignedInteger('max_size');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'mount_vehicle_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'mount_vehicle_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_turrets');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_07_134341_create_sc_unpacked_vehicle_fuel_tanks_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_07_134341_create_sc_unpacked_vehicle_fuel_tanks_table.php
deleted file mode 100644
index 9d5f8490d..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_07_134341_create_sc_unpacked_vehicle_fuel_tanks_table.php
+++ /dev/null
@@ -1,48 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedDouble('fill_rate');
- $table->unsignedDouble('drain_rate');
- $table->unsignedDouble('capacity');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'tank_vehicle_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'tank_vehicle_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_fuel_tanks');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_07_195701_create_sc_unpacked_vehicle_thrusters_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_07_195701_create_sc_unpacked_vehicle_thrusters_table.php
deleted file mode 100644
index d9a743abe..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_07_195701_create_sc_unpacked_vehicle_thrusters_table.php
+++ /dev/null
@@ -1,49 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedDouble('thrust_capacity');
- $table->unsignedDouble('min_health_thrust_multiplier');
- $table->unsignedDouble('fuel_burn_per_10k_newton');
- $table->string('type');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'thruster_vehicle_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'thruster_vehicle_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_thrusters');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_08_094952_create_sc_unpacked_vehicle_self_destructs_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_08_094952_create_sc_unpacked_vehicle_self_destructs_table.php
deleted file mode 100644
index 6d793ca61..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_08_094952_create_sc_unpacked_vehicle_self_destructs_table.php
+++ /dev/null
@@ -1,51 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedDouble('damage');
- $table->unsignedDouble('min_radius');
- $table->unsignedDouble('radius');
- $table->unsignedDouble('phys_radius');
- $table->unsignedDouble('min_phys_radius');
- $table->unsignedDouble('time');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'self_destruct_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'self_destruct_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_self_destructs');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_10_091124_create_sc_unpacked_vehicle_fuel_intakes_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_10_091124_create_sc_unpacked_vehicle_fuel_intakes_table.php
deleted file mode 100644
index da51c9bc7..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_10_091124_create_sc_unpacked_vehicle_fuel_intakes_table.php
+++ /dev/null
@@ -1,47 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedDouble('fuel_push_rate');
- $table->unsignedDouble('minimum_rate');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'intake_vehicle_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'intake_vehicle_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_fuel_intakes');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_11_103854_create_sc_unpacked_vehicle_counter_measures_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_11_103854_create_sc_unpacked_vehicle_counter_measures_table.php
deleted file mode 100644
index c9c54fec9..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_11_103854_create_sc_unpacked_vehicle_counter_measures_table.php
+++ /dev/null
@@ -1,47 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedDouble('initial_ammo_count');
- $table->unsignedDouble('max_ammo_count');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'cm_vehicle_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'cm_vehicle_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_counter_measures');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_11_121024_create_sc_unpacked_vehicle_radars_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_11_121024_create_sc_unpacked_vehicle_radars_table.php
deleted file mode 100644
index 650051a39..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_11_121024_create_sc_unpacked_vehicle_radars_table.php
+++ /dev/null
@@ -1,48 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedDouble('detection_lifetime');
- $table->unsignedDouble('altitude_ceiling');
- $table->boolean('enable_cross_section_occlusion');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'radar_vehicle_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'radar_vehicle_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_radars');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_14_132233_create_sc_unpacked_vehicle_mining_lasers_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_14_132233_create_sc_unpacked_vehicle_mining_lasers_table.php
deleted file mode 100644
index 94bd49c18..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_14_132233_create_sc_unpacked_vehicle_mining_lasers_table.php
+++ /dev/null
@@ -1,59 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
- $table->string('hit_type');
- $table->unsignedDouble('energy_rate');
- $table->unsignedDouble('full_damage_range');
- $table->unsignedDouble('zero_damage_range');
- $table->unsignedDouble('heat_per_second');
- $table->unsignedDouble('damage');
-
- $table->double('modifier_resistance');
- $table->double('modifier_instability');
- $table->double('modifier_charge_window_size');
- $table->double('modifier_charge_window_rate');
- $table->double('modifier_shatter_damage');
- $table->double('modifier_catastrophic_window_rate');
-
- $table->unsignedDouble('consumable_slots');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'mining_lasers_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'mining_lasers_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_mining_lasers');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_18_130001_create_sc_unpacked_item_volumes_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_18_130001_create_sc_unpacked_item_volumes_table.php
deleted file mode 100644
index 730e4afd2..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_18_130001_create_sc_unpacked_item_volumes_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->string('item_uuid');
-
- $table->unsignedDouble('width');
- $table->unsignedDouble('height');
- $table->unsignedDouble('length');
- $table->unsignedDouble('volume');
- $table->timestamps();
-
- $table->foreign('item_uuid', 'item_id_volume_foreign')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('star_citizen_unpacked_item_volumes');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2021_12_31_094601_create_sc_unpacked_clothing_table.php b/database/migrations/base_structure/sc_unpacked/2021_12_31_094601_create_sc_unpacked_clothing_table.php
deleted file mode 100644
index 5927dc6dd..000000000
--- a/database/migrations/base_structure/sc_unpacked/2021_12_31_094601_create_sc_unpacked_clothing_table.php
+++ /dev/null
@@ -1,44 +0,0 @@
-id();
- $table->string('uuid')->unique();
- $table->string('type')->nullable();
- $table->string('carrying_capacity')->nullable();
- $table->double('temp_resistance_min')->default(0);
- $table->double('temp_resistance_max')->default(0);
- $table->string('version');
- $table->timestamps();
-
- $table->foreign('uuid', 'clothing_uuid_item')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_clothing');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2022_05_22_174403_create_sc_unpacked_vehicle_cargo_grids_table.php b/database/migrations/base_structure/sc_unpacked/2022_05_22_174403_create_sc_unpacked_vehicle_cargo_grids_table.php
deleted file mode 100644
index 888d8d5ae..000000000
--- a/database/migrations/base_structure/sc_unpacked/2022_05_22_174403_create_sc_unpacked_vehicle_cargo_grids_table.php
+++ /dev/null
@@ -1,52 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->boolean('personal_inventory');
- $table->boolean('invisible');
- $table->boolean('mining_only');
- $table->unsignedDouble('min_volatile_power_to_explode');
- $table->unsignedDouble('x');
- $table->unsignedDouble('y');
- $table->unsignedDouble('z');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'cargo_grid_vehicle_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'cargo_grid_vehicle_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_cargo_grids');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/2022_05_28_191051_create_sc_unpacked_vehicle_personal_inventories.php b/database/migrations/base_structure/sc_unpacked/2022_05_28_191051_create_sc_unpacked_vehicle_personal_inventories.php
deleted file mode 100644
index 66d255c36..000000000
--- a/database/migrations/base_structure/sc_unpacked/2022_05_28_191051_create_sc_unpacked_vehicle_personal_inventories.php
+++ /dev/null
@@ -1,46 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedDouble('scu');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'personal_inventory_vehicle_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'personal_inventory_vehicle_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_vehicle_personal_inventories');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_154242_create_sc_unpacked_char_armor_table.php b/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_154242_create_sc_unpacked_char_armor_table.php
deleted file mode 100644
index 577157a2c..000000000
--- a/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_154242_create_sc_unpacked_char_armor_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-id();
- $table->string('uuid')->unique();
- $table->string('armor_type')->nullable();
- $table->string('carrying_capacity')->nullable();
- $table->string('damage_reduction')->nullable();
- $table->double('temp_resistance_min')->default(0);
- $table->double('temp_resistance_max')->default(0);
- $table->string('version');
- $table->timestamps();
-
- $table->foreign('uuid', 'armor_uuid_item')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_char_armor');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155314_create_sc_unpacked_char_armor_attachments.php b/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155314_create_sc_unpacked_char_armor_attachments.php
deleted file mode 100644
index 1fad9dd84..000000000
--- a/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155314_create_sc_unpacked_char_armor_attachments.php
+++ /dev/null
@@ -1,34 +0,0 @@
-id();
- $table->string('name');
- $table->unsignedInteger('min_size');
- $table->unsignedInteger('max_size');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_char_armor_attachments');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155422_create_sc_unpacked_char_armor_attachment.php b/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155422_create_sc_unpacked_char_armor_attachment.php
deleted file mode 100644
index dc05e4042..000000000
--- a/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155422_create_sc_unpacked_char_armor_attachment.php
+++ /dev/null
@@ -1,42 +0,0 @@
-id();
- $table->unsignedBigInteger('char_armor_id');
- $table->unsignedBigInteger('char_armor_attachment_id');
-
- $table->foreign('char_armor_id', 'armor_item_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_char_armor')
- ->onDelete('cascade');
-
- $table->foreign('char_armor_attachment_id', 'armor_attachment_item_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_char_armor_attachments')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_char_armor_attachment');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155430_create_sc_unpacked_char_armor_resistances_table.php b/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155430_create_sc_unpacked_char_armor_resistances_table.php
deleted file mode 100644
index 6a7700f2f..000000000
--- a/database/migrations/base_structure/sc_unpacked/char_armor/2021_04_21_155430_create_sc_unpacked_char_armor_resistances_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->unsignedBigInteger('char_armor_id');
- $table->string('type');
- $table->double('multiplier');
- $table->double('threshold');
-
- $table->foreign('char_armor_id', 'armor_resistance_item_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_char_armor')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_char_armor_resistances');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/food/2022_08_27_150936_create_sc_unpacked_foods_table.php b/database/migrations/base_structure/sc_unpacked/food/2022_08_27_150936_create_sc_unpacked_foods_table.php
deleted file mode 100644
index d4468e340..000000000
--- a/database/migrations/base_structure/sc_unpacked/food/2022_08_27_150936_create_sc_unpacked_foods_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id();
- $table->string('uuid')->unique();
- $table->unsignedInteger('nutritional_density_rating')->nullable();
- $table->unsignedInteger('hydration_efficacy_index')->nullable();
- $table->string('container_type')->nullable();
- $table->boolean('one_shot_consume')->nullable();
- $table->boolean('can_be_reclosed')->nullable();
- $table->boolean('discard_when_consumed')->nullable();
- $table->unsignedInteger('occupancy_volume')->nullable();
- $table->string('version');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_foods');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/food/2022_08_27_151037_create_sc_unpacked_food_effects_table.php b/database/migrations/base_structure/sc_unpacked/food/2022_08_27_151037_create_sc_unpacked_food_effects_table.php
deleted file mode 100644
index ccdc0e235..000000000
--- a/database/migrations/base_structure/sc_unpacked/food/2022_08_27_151037_create_sc_unpacked_food_effects_table.php
+++ /dev/null
@@ -1,32 +0,0 @@
-id();
- $table->string('name')->unique();
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_food_effects');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/food/2022_08_27_151046_create_sc_unpacked_food_effect_table.php b/database/migrations/base_structure/sc_unpacked/food/2022_08_27_151046_create_sc_unpacked_food_effect_table.php
deleted file mode 100644
index 4a926b636..000000000
--- a/database/migrations/base_structure/sc_unpacked/food/2022_08_27_151046_create_sc_unpacked_food_effect_table.php
+++ /dev/null
@@ -1,31 +0,0 @@
-unsignedBigInteger('food_id');
- $table->unsignedBigInteger('food_effect_id');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_food_effect');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_04_16_184354_create_sc_unpacked_personal_weapons_table.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_04_16_184354_create_sc_unpacked_personal_weapons_table.php
deleted file mode 100644
index 858736636..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_04_16_184354_create_sc_unpacked_personal_weapons_table.php
+++ /dev/null
@@ -1,46 +0,0 @@
-id();
- $table->string('uuid')->unique();
- $table->string('weapon_type')->nullable();
- $table->string('weapon_class')->nullable();
-
- $table->unsignedDouble('effective_range')->default(0);
- $table->string('rof')->default(0);
-
- $table->string('version');
- $table->timestamps();
-
- $table->foreign('uuid', 'personal_weapon_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapons');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_04_16_185952_create_sc_unpacked_personal_weapon_modes_table.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_04_16_185952_create_sc_unpacked_personal_weapon_modes_table.php
deleted file mode 100644
index 406b9bb67..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_04_16_185952_create_sc_unpacked_personal_weapon_modes_table.php
+++ /dev/null
@@ -1,46 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
- $table->string('mode');
- $table->string('localised');
- $table->string('type');
- $table->unsignedDouble('rounds_per_minute');
- $table->unsignedDouble('ammo_per_shot');
- $table->unsignedDouble('pellets_per_shot');
-
- $table->timestamps();
-
- $table->foreign('weapon_id', 'weapon_weapon_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_modes');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_083254_create_sc_unpacked_personal_weapon_ammunitions_table.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_083254_create_sc_unpacked_personal_weapon_ammunitions_table.php
deleted file mode 100644
index 5523a98bb..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_083254_create_sc_unpacked_personal_weapon_ammunitions_table.php
+++ /dev/null
@@ -1,41 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
- $table->unsignedInteger('size');
- $table->unsignedDouble('lifetime');
- $table->unsignedDouble('speed');
- $table->unsignedDouble('range');
- $table->timestamps();
-
- $table->foreign('weapon_id', 'ammunition_weapon_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_ammunitions');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_083254_create_sc_unpacked_personal_weapon_magazines_table.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_083254_create_sc_unpacked_personal_weapon_magazines_table.php
deleted file mode 100644
index fb88036a4..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_083254_create_sc_unpacked_personal_weapon_magazines_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
- $table->unsignedDouble('initial_ammo_count');
- $table->unsignedDouble('max_ammo_count');
- $table->timestamps();
-
- $table->foreign('weapon_id', 'magazine_weapon_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_magazines');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_090000_create_sc_unpacked_personal_weapon_attachment_ports_table.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_090000_create_sc_unpacked_personal_weapon_attachment_ports_table.php
deleted file mode 100644
index 6aca40a8a..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_090000_create_sc_unpacked_personal_weapon_attachment_ports_table.php
+++ /dev/null
@@ -1,41 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
- $table->string('name');
- $table->string('position');
- $table->unsignedInteger('min_size');
- $table->unsignedInteger('max_size');
- $table->timestamps();
-
- $table->foreign('weapon_id', 'attachment_port_weapon_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_attachment_ports');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_090010_create_sc_unpacked_personal_weapon_attachments_table.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_090010_create_sc_unpacked_personal_weapon_attachments_table.php
deleted file mode 100644
index 3bdc50df2..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_090010_create_sc_unpacked_personal_weapon_attachments_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
-
- $table->string('name');
- $table->string('position');
- $table->unsignedInteger('size');
- $table->unsignedInteger('grade');
-
- $table->timestamps();
-
- $table->foreign('weapon_id', 'attachment_weapon_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_attachments');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_100000_create_sc_unpacked_personal_weapon_ammunition_damages_table.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_100000_create_sc_unpacked_personal_weapon_ammunition_damages_table.php
deleted file mode 100644
index fa5561c14..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2021_05_03_100000_create_sc_unpacked_personal_weapon_ammunition_damages_table.php
+++ /dev/null
@@ -1,44 +0,0 @@
-id();
- $table->unsignedBigInteger('ammunition_id');
- $table->string('type');
- $table->string('name');
-
- $table->unsignedDouble('damage');
-
- $table->timestamps();
-
- $table->foreign('ammunition_id', 'ammunition_id_damage_id')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapon_ammunitions')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_ammunition_damages');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_172248_create_sc_unpacked_personal_weapon_optic_attachments.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_172248_create_sc_unpacked_personal_weapon_optic_attachments.php
deleted file mode 100644
index 3aeb1116d..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_172248_create_sc_unpacked_personal_weapon_optic_attachments.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->unsignedBigInteger('attachment_id');
- $table->string('magnification');
- $table->string('type');
- $table->timestamps();
-
- $table->foreign('attachment_id', 'optic_attachment_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapon_attachments')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_optic_attachments');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_172249_create_sc_unpacked_personal_weapon_magazine_attachments.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_172249_create_sc_unpacked_personal_weapon_magazine_attachments.php
deleted file mode 100644
index f1b713bce..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_172249_create_sc_unpacked_personal_weapon_magazine_attachments.php
+++ /dev/null
@@ -1,38 +0,0 @@
-id();
- $table->unsignedBigInteger('attachment_id');
- $table->unsignedInteger('capacity');
- $table->timestamps();
-
- $table->foreign('attachment_id', 'magazine_attachment_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapon_attachments')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_magazine_attachments');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_195229_create_sc_unpacked_personal_weapon_attachment_table.php b/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_195229_create_sc_unpacked_personal_weapon_attachment_table.php
deleted file mode 100644
index 361bb82f5..000000000
--- a/database/migrations/base_structure/sc_unpacked/personal_weapon/2022_08_24_195229_create_sc_unpacked_personal_weapon_attachment_table.php
+++ /dev/null
@@ -1,31 +0,0 @@
-unsignedBigInteger('weapon_id');
- $table->unsignedBigInteger('attachment_id');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_personal_weapon_attachment');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164221_create_sc_unpacked_ship_items_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164221_create_sc_unpacked_ship_items_table.php
deleted file mode 100644
index 7de0a8ba9..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164221_create_sc_unpacked_ship_items_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-id();
- $table->string('uuid')->unique();
- $table->string('grade')->nullable();
- $table->string('class')->nullable();
- $table->string('type')->nullable();
- $table->string('version');
- $table->timestamps();
-
- $table->foreign('uuid', 'ship_item_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_items');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164222_create_sc_unpacked_ship_item_power_data_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164222_create_sc_unpacked_ship_item_power_data_table.php
deleted file mode 100644
index 341f08fa3..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164222_create_sc_unpacked_ship_item_power_data_table.php
+++ /dev/null
@@ -1,53 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
-
- $table->unsignedDouble('power_base')->nullable();
- $table->unsignedDouble('power_draw')->nullable();
-
- $table->boolean('throttleable')->default(false);
- $table->boolean('overclockable')->default(false);
-
- $table->unsignedDouble('overclock_threshold_min')->nullable();
- $table->unsignedDouble('overclock_threshold_max')->nullable();
- $table->unsignedDouble('overclock_performance')->nullable();
-
- $table->unsignedDouble('overpower_performance')->nullable();
-
- $table->unsignedDouble('power_to_em')->nullable();
- $table->unsignedDouble('decay_rate_em')->nullable();
-
- $table->foreign('ship_item_id', 'power_data_id_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_item_power_data');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164230_create_sc_unpacked_ship_item_heat_data_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164230_create_sc_unpacked_ship_item_heat_data_table.php
deleted file mode 100644
index e049e6d5d..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164230_create_sc_unpacked_ship_item_heat_data_table.php
+++ /dev/null
@@ -1,65 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
-
- $table->unsignedDouble('temperature_to_ir')->nullable();
-
- $table->unsignedDouble('overpower_heat')->nullable();
-
- $table->unsignedDouble('overclock_threshold_min')->nullable();
- $table->unsignedDouble('overclock_threshold_max')->nullable();
-
- $table->unsignedDouble('thermal_energy_base')->nullable();
- $table->unsignedDouble('thermal_energy_draw')->nullable();
- $table->unsignedDouble('thermal_conductivity')->nullable();
-
- $table->unsignedDouble('specific_heat_capacity')->nullable();
-
- $table->unsignedDouble('mass')->nullable();
- $table->unsignedDouble('surface_area')->nullable();
-
- $table->unsignedDouble('start_cooling_temperature')->nullable();
- $table->unsignedDouble('max_cooling_rate')->nullable();
-
- $table->unsignedDouble('max_temperature')->nullable();
- $table->unsignedDouble('min_temperature')->nullable();
- $table->unsignedDouble('overheat_temperature')->nullable();
- $table->unsignedDouble('recovery_temperature')->nullable();
-
- $table->unsignedDouble('misfire_min_temperature')->nullable();
- $table->unsignedDouble('misfire_max_temperature')->nullable();
-
- $table->foreign('ship_item_id', 'heat_data_id_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_item_heat_data');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164240_create_sc_unpacked_ship_item_distortion_data_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164240_create_sc_unpacked_ship_item_distortion_data_table.php
deleted file mode 100644
index d0ec8ce0c..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164240_create_sc_unpacked_ship_item_distortion_data_table.php
+++ /dev/null
@@ -1,47 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
-
- $table->unsignedDouble('decay_rate')->nullable();
-
- $table->unsignedDouble('maximum')->nullable();
-
- $table->unsignedDouble('overload_ratio')->nullable();
-
- $table->unsignedDouble('recovery_ratio')->nullable();
- $table->unsignedDouble('recovery_time')->nullable();
-
- $table->foreign('ship_item_id', 'distortion_data_id_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_item_distortion_data');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164250_create_sc_unpacked_ship_item_durability_data_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164250_create_sc_unpacked_ship_item_durability_data_table.php
deleted file mode 100644
index e04897c67..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164250_create_sc_unpacked_ship_item_durability_data_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
-
- $table->unsignedDouble('health')->nullable();
-
- $table->unsignedDouble('max_lifetime')->nullable();
-
- $table->foreign('ship_item_id', 'durability_data_id_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_item_durability_data');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164358_create_sc_unpacked_ship_coolers_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164358_create_sc_unpacked_ship_coolers_table.php
deleted file mode 100644
index 27dcb1d96..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164358_create_sc_unpacked_ship_coolers_table.php
+++ /dev/null
@@ -1,48 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
- $table->unsignedDouble('cooling_rate');
- $table->unsignedDouble('suppression_ir_factor')->nullable();
- $table->unsignedDouble('suppression_heat_factor')->nullable();
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'cooler_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'cooler_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_coolers');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164359_create_sc_unpacked_ship_power_plants_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164359_create_sc_unpacked_ship_power_plants_table.php
deleted file mode 100644
index 8fb432ebf..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/2021_04_28_164359_create_sc_unpacked_ship_power_plants_table.php
+++ /dev/null
@@ -1,46 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
- $table->unsignedDouble('power_output');
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'power_plant_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'power_plant_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_power_plants');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/quantum_drive/2021_04_28_164401_create_sc_unpacked_ship_quantum_drives_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/quantum_drive/2021_04_28_164401_create_sc_unpacked_ship_quantum_drives_table.php
deleted file mode 100644
index 6e0874a21..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/quantum_drive/2021_04_28_164401_create_sc_unpacked_ship_quantum_drives_table.php
+++ /dev/null
@@ -1,56 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedDouble('quantum_fuel_requirement');
- $table->string('jump_range');
- $table->unsignedDouble('disconnect_range');
-
- $table->unsignedDouble('pre_ramp_up_thermal_energy_draw');
- $table->unsignedDouble('ramp_up_thermal_energy_draw');
- $table->unsignedDouble('in_flight_thermal_energy_draw');
- $table->unsignedDouble('ramp_down_thermal_energy_draw');
- $table->unsignedDouble('post_ramp_down_thermal_energy_draw');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'quantum_drive_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'quantum_drive_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_quantum_drives');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/quantum_drive/2021_04_28_164420_create_sc_unpacked_ship_quantum_drive_modes_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/quantum_drive/2021_04_28_164420_create_sc_unpacked_ship_quantum_drive_modes_table.php
deleted file mode 100644
index 348898e72..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/quantum_drive/2021_04_28_164420_create_sc_unpacked_ship_quantum_drive_modes_table.php
+++ /dev/null
@@ -1,55 +0,0 @@
-id();
- $table->unsignedBigInteger('quantum_drive_id');
-
- $table->string('type');
-
- $table->unsignedDouble('drive_speed');
- $table->unsignedDouble('cooldown_time');
- $table->unsignedDouble('stage_one_accel_rate');
- $table->unsignedDouble('stage_two_accel_rate');
- $table->unsignedDouble('engage_speed');
- $table->unsignedDouble('interdiction_effect_time');
- $table->unsignedDouble('calibration_rate');
- $table->unsignedDouble('min_calibration_requirement');
- $table->unsignedDouble('max_calibration_requirement');
- $table->unsignedDouble('calibration_process_angle_limit');
- $table->unsignedDouble('calibration_warning_angle_limit');
- $table->unsignedDouble('spool_up_time');
-
- $table->timestamps();
-
- $table->foreign('quantum_drive_id', 'quantum_drive_mode_quantum_drive_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_quantum_drives')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_quantum_drive_modes');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/shield/2021_04_28_164400_create_sc_unpacked_ship_shields_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/shield/2021_04_28_164400_create_sc_unpacked_ship_shields_table.php
deleted file mode 100644
index 7bcc029d5..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/shield/2021_04_28_164400_create_sc_unpacked_ship_shields_table.php
+++ /dev/null
@@ -1,55 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
- $table->unsignedDouble('max_shield_health');
- $table->unsignedDouble('max_shield_regen');
- $table->unsignedDouble('decay_ratio');
- $table->unsignedDouble('downed_regen_delay');
- $table->unsignedDouble('damage_regen_delay');
- $table->unsignedDouble('max_reallocation');
- $table->unsignedDouble('reallocation_rate');
- $table->unsignedDouble('shield_hardening_factor');
- $table->unsignedDouble('shield_hardening_duration');
- $table->unsignedDouble('shield_hardening_cooldown');
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'shields_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'shields_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_shields');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/shield/2021_04_28_164410_create_sc_unpacked_ship_shield_absorptions_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/shield/2021_04_28_164410_create_sc_unpacked_ship_shield_absorptions_table.php
deleted file mode 100644
index 568f2515c..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/shield/2021_04_28_164410_create_sc_unpacked_ship_shield_absorptions_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_shield_id');
- $table->string('type');
- $table->unsignedDouble('min');
- $table->unsignedDouble('max');
- $table->timestamps();
-
- $table->foreign('ship_shield_id', 'ship_shield_id_shield_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_shields')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_shield_absorptions');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080000_create_sc_unpacked_ship_weapons_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080000_create_sc_unpacked_ship_weapons_table.php
deleted file mode 100644
index c8b2383d4..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080000_create_sc_unpacked_ship_weapons_table.php
+++ /dev/null
@@ -1,50 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
- $table->unsignedDouble('speed');
- $table->unsignedDouble('range');
- $table->unsignedDouble('size');
- $table->unsignedDouble('capacity')->nullable();
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'weapons_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'weapons_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_weapons');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080010_create_sc_unpacked_ship_weapon_modes_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080010_create_sc_unpacked_ship_weapon_modes_table.php
deleted file mode 100644
index dbff577a2..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080010_create_sc_unpacked_ship_weapon_modes_table.php
+++ /dev/null
@@ -1,45 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_weapon_id');
- $table->string('mode');
- $table->string('localised');
- $table->string('type');
- $table->unsignedDouble('rounds_per_minute')->nullable();
- $table->unsignedDouble('ammo_per_shot')->nullable();
- $table->unsignedDouble('pellets_per_shot')->nullable();
- $table->timestamps();
-
- $table->foreign('ship_weapon_id', 'ship_weapon_mode_ship_weapon_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_weapon_modes');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080020_create_sc_unpacked_ship_weapon_damages_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080020_create_sc_unpacked_ship_weapon_damages_table.php
deleted file mode 100644
index 2842023d3..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_080020_create_sc_unpacked_ship_weapon_damages_table.php
+++ /dev/null
@@ -1,44 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_weapon_id');
- $table->string('type');
- $table->string('name');
-
- $table->unsignedDouble('damage');
-
- $table->timestamps();
-
- $table->foreign('ship_weapon_id', 'ship_weapon_damage_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_weapons')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_weapon_damages');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_100000_create_sc_unpacked_ship_missiles_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_100000_create_sc_unpacked_ship_missiles_table.php
deleted file mode 100644
index ff899b9d2..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_04_30_100000_create_sc_unpacked_ship_missiles_table.php
+++ /dev/null
@@ -1,48 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
- $table->string('signal_type');
- $table->unsignedDouble('lock_time');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'missiles_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'missiles_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_missiles');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_12_02_125107_create_sc_unpacked_ship_missile_racks_table.php b/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_12_02_125107_create_sc_unpacked_ship_missile_racks_table.php
deleted file mode 100644
index d6e395f3e..000000000
--- a/database/migrations/base_structure/sc_unpacked/ship_item/weapon/2021_12_02_125107_create_sc_unpacked_ship_missile_racks_table.php
+++ /dev/null
@@ -1,47 +0,0 @@
-id();
- $table->unsignedBigInteger('ship_item_id');
- $table->string('uuid')->unique();
-
- $table->unsignedInteger('missile_count');
- $table->unsignedInteger('missile_size');
-
- $table->timestamps();
-
- $table->foreign('ship_item_id', 'missile_racks_ship_item_id')
- ->references('id')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
-
- $table->foreign('uuid', 'missile_racks_ship_item_uuid')
- ->references('uuid')
- ->on('star_citizen_unpacked_ship_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_ship_missile_racks');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/shop/2021_04_21_160000_create_sc_unpacked_shops_table.php b/database/migrations/base_structure/sc_unpacked/shop/2021_04_21_160000_create_sc_unpacked_shops_table.php
deleted file mode 100644
index 9446d7729..000000000
--- a/database/migrations/base_structure/sc_unpacked/shop/2021_04_21_160000_create_sc_unpacked_shops_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->string('uuid')->unique();
- $table->string('name_raw');
- $table->string('name')->nullable();
- $table->string('position')->nullable();
- $table->double('profit_margin')->default(0);
- $table->string('version');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_shops');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/shop/2021_04_21_160310_create_sc_unpacked_shop_item_table.php b/database/migrations/base_structure/sc_unpacked/shop/2021_04_21_160310_create_sc_unpacked_shop_item_table.php
deleted file mode 100644
index 8c1c86877..000000000
--- a/database/migrations/base_structure/sc_unpacked/shop/2021_04_21_160310_create_sc_unpacked_shop_item_table.php
+++ /dev/null
@@ -1,62 +0,0 @@
-unsignedBigInteger('shop_id');
- $table->unsignedBigInteger('item_id');
- $table->string('item_uuid');
- $table->string('shop_uuid');
- $table->double('base_price');
- $table->double('base_price_offset');
- $table->double('max_discount');
- $table->double('max_premium');
- $table->double('inventory');
- $table->double('optimal_inventory');
- $table->double('max_inventory');
- $table->boolean('auto_restock');
- $table->boolean('auto_consume');
- $table->double('refresh_rate')->nullable();
- $table->boolean('buyable');
- $table->boolean('sellable');
- $table->boolean('rentable');
- $table->string('version');
-
- $table->primary(['shop_id', 'item_id', 'item_uuid', 'version'], 'star_citizen_unpacked_shop_item_primary');
- $table->index('item_uuid');
- $table->index('shop_uuid');
- $table->index('version');
-
- $table->foreign('item_uuid', 'item_uuid_shop')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
-
- $table->foreign('shop_uuid', 'shop_uuid_shop')
- ->references('uuid')
- ->on('star_citizen_unpacked_shops')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_shop_item');
- }
-}
diff --git a/database/migrations/base_structure/sc_unpacked/shop/2021_10_26_112619_create_sc_unpacked_shop_item_rental_table.php b/database/migrations/base_structure/sc_unpacked/shop/2021_10_26_112619_create_sc_unpacked_shop_item_rental_table.php
deleted file mode 100644
index 2ba933fb7..000000000
--- a/database/migrations/base_structure/sc_unpacked/shop/2021_10_26_112619_create_sc_unpacked_shop_item_rental_table.php
+++ /dev/null
@@ -1,54 +0,0 @@
-id();
- $table->string('item_uuid');
- $table->string('shop_uuid');
-
- $table->float('percentage_1');
- $table->float('percentage_3');
- $table->float('percentage_7');
- $table->float('percentage_30');
-
- $table->string('version');
-
- $table->unique(['item_uuid', 'shop_uuid'], 'star_citizen_unpacked_shop_item_rental_unique');
- $table->index('item_uuid');
- $table->index('shop_uuid');
- $table->index('version');
-
- $table->foreign('item_uuid', 'item_rental_uuid_shop')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
-
- $table->foreign('shop_uuid', 'shop_rental_uuid_shop')
- ->references('uuid')
- ->on('star_citizen_unpacked_shops')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('star_citizen_unpacked_shop_item_rental');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/2018_03_16_140517_create_stats_table.php b/database/migrations/base_structure/starcitizen/2018_03_16_140517_create_stats_table.php
deleted file mode 100644
index fda9c0ea6..000000000
--- a/database/migrations/base_structure/starcitizen/2018_03_16_140517_create_stats_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-increments('id');
- $table->unsignedDecimal('funds', 15, 2);
- $table->unsignedBigInteger('fleet');
- $table->unsignedBigInteger('fans');
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('stats');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_205142_create_galactapedia_articles_table.php b/database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_205142_create_galactapedia_articles_table.php
deleted file mode 100644
index a9ed68bfe..000000000
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_205142_create_galactapedia_articles_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->string('cig_id')->unique();
- $table->string('title');
- $table->string('slug');
- $table->string('thumbnail')->nullable();
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('galactapedia_articles');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_205328_create_galactapedia_article_translations_table.php b/database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_205328_create_galactapedia_article_translations_table.php
deleted file mode 100644
index 10805b991..000000000
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_205328_create_galactapedia_article_translations_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->char('locale_code', 5);
- $table->unsignedBigInteger('article_id');
- $table->timestamps();
-
- $table->unique(['locale_code', 'article_id'], 'galactapedia_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- });
-
- if (config('database.connection') === 'mysql') {
- DB::statement('ALTER TABLE galactapedia_article_translations ADD COLUMN translation LONGBLOB AFTER galactapedia_article_id');
- } else {
- DB::statement('ALTER TABLE galactapedia_article_translations ADD COLUMN translation BLOB');
- }
- }
-
- /**
- * Reverse the migrations.
- */
- public function down($table): void
- {
- Schema::dropIfExists($table);
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_194400_create_galactapedia_article_properties_table.php b/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_194400_create_galactapedia_article_properties_table.php
deleted file mode 100644
index c174d23bd..000000000
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_194400_create_galactapedia_article_properties_table.php
+++ /dev/null
@@ -1,34 +0,0 @@
-id();
- $table->unsignedBigInteger('article_id');
- $table->string('name');
- $table->text('content');
- $table->timestamps();
-
- $table->foreign('article_id')->references('id')->on('galactapedia_articles');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('galactapedia_article_properties');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195236_create_galactapedia_article_categories_table.php b/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195236_create_galactapedia_article_categories_table.php
deleted file mode 100644
index 7158998e1..000000000
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195236_create_galactapedia_article_categories_table.php
+++ /dev/null
@@ -1,31 +0,0 @@
-id();
- $table->unsignedBigInteger('article_id');
- $table->unsignedBigInteger('category_id');
-
- $table->foreign('article_id')->references('id')->on('galactapedia_articles');
- $table->foreign('category_id')->references('id')->on('galactapedia_categories');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('galactapedia_article_categories');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195302_create_galactapedia_article_tags_table.php b/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195302_create_galactapedia_article_tags_table.php
deleted file mode 100644
index f9fdcdb6c..000000000
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195302_create_galactapedia_article_tags_table.php
+++ /dev/null
@@ -1,31 +0,0 @@
-id();
- $table->unsignedBigInteger('article_id');
- $table->unsignedBigInteger('tag_id');
-
- $table->foreign('article_id')->references('id')->on('galactapedia_articles');
- $table->foreign('tag_id')->references('id')->on('galactapedia_tags');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('galactapedia_article_tags');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202437_create_galactapedia_article_relates_table.php b/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202437_create_galactapedia_article_relates_table.php
deleted file mode 100644
index 16f61a21f..000000000
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202437_create_galactapedia_article_relates_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->unsignedBigInteger('article_id');
- $table->unsignedBigInteger('related_article_id');
-
- $table->foreign('article_id')->references('id')->on('galactapedia_articles');
- $table->foreign('related_article_id')->references('id')->on('galactapedia_articles');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('galactapedia_article_relates');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202605_create_galactapedia_article_templates_table.php b/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202605_create_galactapedia_article_templates_table.php
deleted file mode 100644
index 5c89b7822..000000000
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202605_create_galactapedia_article_templates_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-id();
- $table->unsignedBigInteger('article_id');
- $table->unsignedBigInteger('template_id');
-
- $table->foreign('article_id')->references('id')->on('galactapedia_articles');
- $table->foreign('template_id')->references('id')->on('galactapedia_templates');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('galactapedia_article_templates');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/manufacturer/2018_01_01_000000_create_manufacturers_table.php b/database/migrations/base_structure/starcitizen/manufacturer/2018_01_01_000000_create_manufacturers_table.php
deleted file mode 100644
index 142e1fda4..000000000
--- a/database/migrations/base_structure/starcitizen/manufacturer/2018_01_01_000000_create_manufacturers_table.php
+++ /dev/null
@@ -1,41 +0,0 @@
-increments('id');
- $table->unsignedInteger('cig_id');
- $table->string('name')->unique();
- $table->string('name_short')->unique();
- $table->timestamps();
-
- $table->unique('cig_id');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('manufacturers');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/manufacturer/2018_01_01_000001_create_manufacturer_translations_table.php b/database/migrations/base_structure/starcitizen/manufacturer/2018_01_01_000001_create_manufacturer_translations_table.php
deleted file mode 100644
index 5710242f0..000000000
--- a/database/migrations/base_structure/starcitizen/manufacturer/2018_01_01_000001_create_manufacturer_translations_table.php
+++ /dev/null
@@ -1,44 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('manufacturer_id');
- $table->string('known_for')->nullable();
- $table->text('description')->nullable();
- $table->timestamps();
-
- $table->unique(['locale_code', 'manufacturer_id'], 'manufacturer_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('manufacturer_id')->references('id')->on('manufacturers')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('manufacturer_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/production_note/2018_01_02_000000_create_production_notes_table.php b/database/migrations/base_structure/starcitizen/production_note/2018_01_02_000000_create_production_notes_table.php
deleted file mode 100644
index 0415b4141..000000000
--- a/database/migrations/base_structure/starcitizen/production_note/2018_01_02_000000_create_production_notes_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-increments('id');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('production_notes');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/production_note/2018_01_02_000001_create_production_note_translations_table.php b/database/migrations/base_structure/starcitizen/production_note/2018_01_02_000001_create_production_note_translations_table.php
deleted file mode 100644
index 809ff0406..000000000
--- a/database/migrations/base_structure/starcitizen/production_note/2018_01_02_000001_create_production_note_translations_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('production_note_id');
- $table->string('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'production_note_id'], 'production_note_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('production_note_id')->references('id')->on('production_notes')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('production_note_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/production_status/2018_01_03_000000_create_production_statuses_table.php b/database/migrations/base_structure/starcitizen/production_status/2018_01_03_000000_create_production_statuses_table.php
deleted file mode 100644
index 138d87e31..000000000
--- a/database/migrations/base_structure/starcitizen/production_status/2018_01_03_000000_create_production_statuses_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-increments('id');
- $table->string('slug')->unique();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('production_statuses');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/production_status/2018_01_03_000001_create_production_status_translations_table.php b/database/migrations/base_structure/starcitizen/production_status/2018_01_03_000001_create_production_status_translations_table.php
deleted file mode 100644
index 41287e476..000000000
--- a/database/migrations/base_structure/starcitizen/production_status/2018_01_03_000001_create_production_status_translations_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('production_status_id');
- $table->string('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'production_status_id'], 'production_status_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('production_status_id')->references('id')->on('production_statuses')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('production_status_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/2018_08_04_000001_create_affiliations_table.php b/database/migrations/base_structure/starcitizen/starmap/2018_08_04_000001_create_affiliations_table.php
deleted file mode 100644
index 25b1b4585..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/2018_08_04_000001_create_affiliations_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id('id');
- $table->unsignedBigInteger('cig_id');
-
- $table->string('name');
- $table->string('code');
- $table->string('color');
- $table->unsignedBigInteger('membership_id')->nullable();
-
- $table->unique('name');
- $table->unique('code');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('affiliations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000001_create_celestial_object_subtypes_table.php b/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000001_create_celestial_object_subtypes_table.php
deleted file mode 100644
index e4d447a49..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000001_create_celestial_object_subtypes_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-unsignedBigInteger('id');
- $table->string('name');
- $table->string('type');
-
- $table->timestamps();
-
- $table->primary('id');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('celestial_object_subtypes');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000002_create_celestial_objects_table.php b/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000002_create_celestial_objects_table.php
deleted file mode 100644
index 2d013239d..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000002_create_celestial_objects_table.php
+++ /dev/null
@@ -1,87 +0,0 @@
-id('id');
-
- $table->unsignedBigInteger('cig_id');
- $table->unsignedBigInteger('starsystem_id');
-
- $table->string('age')->nullable();
- $table->string('appearance');
- $table->decimal('axial_tilt')->nullable();
- $table->string('code');
- $table->string('designation');
- $table->decimal('distance')->nullable();
- $table->boolean('fairchanceact')->nullable();
- $table->boolean('habitable')->nullable();
- $table->string('info_url')->nullable();
- $table->decimal('latitude')->nullable();
- $table->decimal('longitude')->nullable();
- $table->string('name')->nullable();
- $table->string('orbit_period')->nullable();
- $table->unsignedBigInteger('parent_id')->nullable();
- $table->unsignedInteger('sensor_danger');
- $table->unsignedInteger('sensor_economy');
- $table->unsignedInteger('sensor_population');
-
- $table->string('size')->nullable();
- $table->unsignedBigInteger('subtype_id')->nullable();
-
- $table->enum(
- 'type',
- [
- 'JUMPPOINT',
- 'STAR',
- 'ASTEROID_BELT',
- 'ASTEROID_FIELD',
- 'MANMADE',
- 'PLANET',
- 'LZ',
- 'SATELLITE',
- 'POI',
- 'BLACKHOLE',
- ]
- );
-
- $table->dateTime('time_modified');
- $table->timestamps();
-
- $table->foreign('subtype_id')
- ->references('id')
- ->on('celestial_object_subtypes')
- ->onDelete('cascade');
-
- $table->foreign('starsystem_id')
- ->references('cig_id')
- ->on('starsystems');
-
- $table->unique('cig_id');
- $table->unique('code');
- $table->index('code');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('celestial_objects');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000003_create_celestial_object_translations_table.php b/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000003_create_celestial_object_translations_table.php
deleted file mode 100644
index 222cdd7fc..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/celestialobject/2018_08_06_000003_create_celestial_object_translations_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id('id');
- $table->char('locale_code', 5);
- $table->unsignedBigInteger('celestial_object_id');
- $table->text('translation');
- $table->timestamps();
-
- $table->foreign('celestial_object_id')->references('id')->on('celestial_objects');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
-
- $table->unique(['locale_code', 'celestial_object_id'], 'celestial_object_translation_primary');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('celestial_object_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/celestialobject/2020_09_27_142958_create_celestial_object_affiliation_table.php b/database/migrations/base_structure/starcitizen/starmap/celestialobject/2020_09_27_142958_create_celestial_object_affiliation_table.php
deleted file mode 100644
index ee7cf7845..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/celestialobject/2020_09_27_142958_create_celestial_object_affiliation_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-unsignedBigInteger('celestial_object_id');
- $table->unsignedBigInteger('affiliation_id');
-
- $table->foreign('celestial_object_id')
- ->references('id')
- ->on('celestial_objects')
- ->onDelete('cascade');
-
- $table->foreign('affiliation_id')
- ->references('id')
- ->on('affiliations')
- ->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('celestial_object_affiliation');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/jumppoint/2018_08_07_000001_create_jumppoints_table.php b/database/migrations/base_structure/starcitizen/starmap/jumppoint/2018_08_07_000001_create_jumppoints_table.php
deleted file mode 100644
index 85c29533f..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/jumppoint/2018_08_07_000001_create_jumppoints_table.php
+++ /dev/null
@@ -1,51 +0,0 @@
-id('id');
- $table->unsignedBigInteger('cig_id');
- $table->string('direction');
- $table->unsignedBigInteger('entry_id');
- $table->unsignedBigInteger('exit_id');
- $table->string('name')->nullable();
- $table->string('size');
-
- $table->string('entry_status')->nullable();
- $table->string('exit_status')->nullable();
-
- $table->timestamps();
-
- $table->unique('cig_id');
-
- $table->foreign('entry_id')
- ->references('cig_id')
- ->on('celestial_objects');
- $table->foreign('exit_id')
- ->references('cig_id')
- ->on('celestial_objects');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('jumppoints');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/starsystem/2018_08_05_000001_create_starsystems_table.php b/database/migrations/base_structure/starcitizen/starmap/starsystem/2018_08_05_000001_create_starsystems_table.php
deleted file mode 100644
index bbc87f752..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/starsystem/2018_08_05_000001_create_starsystems_table.php
+++ /dev/null
@@ -1,60 +0,0 @@
-id('id');
-
- $table->unsignedBigInteger('cig_id')->unique();
- $table->char('code', 20)->unique();
-
- $table->string('status');
-
- $table->string('info_url')->nullable();
-
- $table->string('name');
- $table->string('type');
-
- $table->decimal('position_x');
- $table->decimal('position_y');
- $table->decimal('position_z');
-
- $table->decimal('frost_line')->nullable();
- $table->decimal('habitable_zone_inner')->nullable();
- $table->decimal('habitable_zone_outer')->nullable();
-
- $table->decimal('aggregated_size');
- $table->decimal('aggregated_population');
- $table->decimal('aggregated_economy');
- $table->unsignedInteger('aggregated_danger');
-
- $table->dateTime('time_modified');
-
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('starsystems');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/starsystem/2018_08_05_000002_create_starsystem_translations_table.php b/database/migrations/base_structure/starcitizen/starmap/starsystem/2018_08_05_000002_create_starsystem_translations_table.php
deleted file mode 100644
index 52ab57a25..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/starsystem/2018_08_05_000002_create_starsystem_translations_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-id('id');
- $table->char('locale_code', 5);
- $table->unsignedBigInteger('starsystem_id');
- $table->text('translation');
- $table->timestamps();
-
- $table->foreign('starsystem_id')->references('id')->on('starsystems');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
-
- $table->unique(['locale_code', 'starsystem_id'], 'starsystem_translation_primary');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('starsystem_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/starmap/starsystem/2020_09_27_142923_create_starsystem_affiliation_table.php b/database/migrations/base_structure/starcitizen/starmap/starsystem/2020_09_27_142923_create_starsystem_affiliation_table.php
deleted file mode 100644
index 2b5ab8b14..000000000
--- a/database/migrations/base_structure/starcitizen/starmap/starsystem/2020_09_27_142923_create_starsystem_affiliation_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-unsignedBigInteger('starsystem_id');
- $table->unsignedBigInteger('affiliation_id');
-
- $table->foreign('starsystem_id')
- ->references('id')
- ->on('starsystems')
- ->onDelete('cascade');
-
- $table->foreign('affiliation_id')
- ->references('id')
- ->on('affiliations')
- ->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('starsystem_affiliation');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/focus/2018_01_04_000000_create_vehicle_foci_table.php b/database/migrations/base_structure/starcitizen/vehicle/focus/2018_01_04_000000_create_vehicle_foci_table.php
deleted file mode 100644
index ec24ff2e8..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/focus/2018_01_04_000000_create_vehicle_foci_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-increments('id');
- $table->string('slug')->unique();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicle_foci');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/focus/2018_01_04_000001_create_vehicle_focus_translations_table.php b/database/migrations/base_structure/starcitizen/vehicle/focus/2018_01_04_000001_create_vehicle_focus_translations_table.php
deleted file mode 100644
index b7ac533aa..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/focus/2018_01_04_000001_create_vehicle_focus_translations_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('focus_id');
- $table->string('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'focus_id'], 'vehicle_focus_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('focus_id')->references('id')->on('vehicle_foci')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicle_focus_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/size/2018_01_05_000001_create_vehicle_sizes_table.php b/database/migrations/base_structure/starcitizen/vehicle/size/2018_01_05_000001_create_vehicle_sizes_table.php
deleted file mode 100644
index eab80afff..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/size/2018_01_05_000001_create_vehicle_sizes_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-increments('id');
- $table->string('slug')->unique();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicle_sizes');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/size/2018_01_05_000002_create_vehicle_size_translations_table.php b/database/migrations/base_structure/starcitizen/vehicle/size/2018_01_05_000002_create_vehicle_size_translations_table.php
deleted file mode 100644
index 76507154c..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/size/2018_01_05_000002_create_vehicle_size_translations_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('size_id');
- $table->string('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'size_id'], 'vehicle_size_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('size_id')->references('id')->on('vehicle_sizes')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicle_size_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/type/2018_01_06_000001_create_vehicle_types_table.php b/database/migrations/base_structure/starcitizen/vehicle/type/2018_01_06_000001_create_vehicle_types_table.php
deleted file mode 100644
index 90f59a23d..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/type/2018_01_06_000001_create_vehicle_types_table.php
+++ /dev/null
@@ -1,33 +0,0 @@
-increments('id');
- $table->string('slug')->unique();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicle_types');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/type/2018_01_06_000002_create_vehicle_type_translations_table.php b/database/migrations/base_structure/starcitizen/vehicle/type/2018_01_06_000002_create_vehicle_type_translations_table.php
deleted file mode 100644
index 048443a19..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/type/2018_01_06_000002_create_vehicle_type_translations_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('type_id');
- $table->string('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'type_id'], 'vehicle_type_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('type_id')->references('id')->on('vehicle_types')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicle_type_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000000_create_vehicles_table.php b/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000000_create_vehicles_table.php
deleted file mode 100644
index 00ee5491a..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000000_create_vehicles_table.php
+++ /dev/null
@@ -1,67 +0,0 @@
-increments('id');
- $table->unsignedInteger('cig_id');
- $table->string('name')->unique();
- $table->string('slug')->unique();
- $table->unsignedInteger('manufacturer_id');
- $table->unsignedInteger('production_status_id');
- $table->unsignedInteger('production_note_id');
- $table->unsignedInteger('size_id');
- $table->unsignedInteger('type_id');
- $table->unsignedDecimal('length')->nullable();
- $table->unsignedDecimal('beam')->nullable();
- $table->unsignedDecimal('height')->nullable();
- $table->unsignedBigInteger('mass')->nullable();
- $table->unsignedInteger('cargo_capacity')->nullable();
- $table->unsignedInteger('min_crew')->nullable();
- $table->unsignedInteger('max_crew')->nullable();
- $table->unsignedInteger('scm_speed')->nullable();
- $table->unsignedInteger('afterburner_speed')->nullable();
- $table->unsignedDecimal('pitch_max')->nullable();
- $table->unsignedDecimal('yaw_max')->nullable();
- $table->unsignedDecimal('roll_max')->nullable();
- $table->unsignedDecimal('x_axis_acceleration')->nullable();
- $table->unsignedDecimal('y_axis_acceleration')->nullable();
- $table->unsignedDecimal('z_axis_acceleration')->nullable();
- $table->unsignedInteger('chassis_id');
- $table->timestamps();
-
- $table->unique('cig_id');
- $table->foreign('manufacturer_id')->references('id')->on('manufacturers')->onDelete('cascade');
- $table->foreign('production_status_id')->references('id')->on('production_statuses')->onDelete('cascade');
- $table->foreign('production_note_id')->references('id')->on('production_notes')->onDelete('cascade');
- $table->foreign('size_id')->references('id')->on('vehicle_sizes')->onDelete('cascade');
- $table->foreign('type_id')->references('id')->on('vehicle_types')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicles');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000001_create_vehicle_translations_table.php b/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000001_create_vehicle_translations_table.php
deleted file mode 100644
index cf2542dc4..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000001_create_vehicle_translations_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('vehicle_id');
- $table->text('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'vehicle_id'], 'vehicle_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('vehicle_id')->references('id')->on('vehicles')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicle_translations');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000002_create_vehicle_vehicle_focus_table.php b/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000002_create_vehicle_vehicle_focus_table.php
deleted file mode 100644
index 3d8c7b207..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2018_02_01_000002_create_vehicle_vehicle_focus_table.php
+++ /dev/null
@@ -1,40 +0,0 @@
-unsignedInteger('vehicle_id');
- $table->unsignedInteger('focus_id');
-
- $table->primary(['vehicle_id', 'focus_id'], 'vehicle_focus_primary');
- $table->foreign('vehicle_id')->references('id')->on('vehicles')->onDelete('cascade');
- $table->foreign('focus_id')->references('id')->on('vehicle_foci')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('vehicle_vehicle_focus');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2020_09_18_124433_create_vehicle_components_table.php b/database/migrations/base_structure/starcitizen/vehicle/vehicle/2020_09_18_124433_create_vehicle_components_table.php
deleted file mode 100644
index 92a2e74b7..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2020_09_18_124433_create_vehicle_components_table.php
+++ /dev/null
@@ -1,47 +0,0 @@
-id();
- $table->string('type');
- $table->string('name');
- $table->string('component_class');
- $table->string('component_size', 3)->nullable();
- $table->string('category', 3)->nullable();
- $table->string('manufacturer')->nullable();
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('vehicle_components');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2020_09_18_124902_create_vehicle_component_table.php b/database/migrations/base_structure/starcitizen/vehicle/vehicle/2020_09_18_124902_create_vehicle_component_table.php
deleted file mode 100644
index 0f95df564..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2020_09_18_124902_create_vehicle_component_table.php
+++ /dev/null
@@ -1,55 +0,0 @@
-unsignedInteger('vehicle_id');
- $table->unsignedBigInteger('component_id');
-
- $table->unsignedInteger('mounts')->default(0);
- $table->string('size', 3)->nullable();
- $table->text('details')->nullable();
- $table->unsignedInteger('quantity')->default(1);
-
- $table->foreign('vehicle_id')
- ->references('id')
- ->on('vehicles')
- ->onDelete('cascade');
-
- $table->foreign('component_id')
- ->references('id')
- ->on('vehicle_components')
- ->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('vehicle_component');
- }
-}
diff --git a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2023_05_25_153213_create_vehicle_loaners_table.php b/database/migrations/base_structure/starcitizen/vehicle/vehicle/2023_05_25_153213_create_vehicle_loaners_table.php
deleted file mode 100644
index 66d77911e..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2023_05_25_153213_create_vehicle_loaners_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-unsignedInteger('vehicle_id');
- $table->unsignedInteger('loaner_id');
- $table->string('version');
-
- $table->foreign('vehicle_id', 'fk_vehicle_l_vehicle_id')
- ->references('id')
- ->on('vehicles')
- ->onDelete('cascade');
-
- $table->foreign('loaner_id', 'fk_vehicle_l_loaner_id')
- ->references('id')
- ->on('vehicles')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('vehicle_loaners');
- }
-};
diff --git a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2024_01_07_132833_create_vehicle_skus_table.php b/database/migrations/base_structure/starcitizen/vehicle/vehicle/2024_01_07_132833_create_vehicle_skus_table.php
deleted file mode 100644
index 64f5630df..000000000
--- a/database/migrations/base_structure/starcitizen/vehicle/vehicle/2024_01_07_132833_create_vehicle_skus_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-id();
- $table->unsignedInteger('vehicle_id');
- $table->string('title');
- $table->unsignedInteger('price');
- $table->boolean('available');
- $table->unsignedBigInteger('cig_id');
- $table->timestamps();
-
- $table->foreign('vehicle_id', 'fk_vehicle_s_vehicle_id')
- ->references('id')
- ->on('vehicles')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('vehicle_skus');
- }
-};
diff --git a/database/migrations/base_structure/system/2017_01_01_000000_create_languages_table.php b/database/migrations/base_structure/system/2017_01_01_000000_create_languages_table.php
deleted file mode 100644
index 7df0e6cfe..000000000
--- a/database/migrations/base_structure/system/2017_01_01_000000_create_languages_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-char('locale_code', 5);
- $table->timestamps();
-
- $table->primary('locale_code');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('languages');
- }
-}
diff --git a/database/migrations/base_structure/system/2017_03_23_122820_create_jobs_table.php b/database/migrations/base_structure/system/2017_03_23_122820_create_jobs_table.php
deleted file mode 100644
index ddbb2dcee..000000000
--- a/database/migrations/base_structure/system/2017_03_23_122820_create_jobs_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-bigIncrements('id');
- $table->string('queue');
- $table->longText('payload');
- $table->unsignedTinyInteger('attempts');
- $table->unsignedInteger('reserved_at')->nullable();
- $table->unsignedInteger('available_at');
- $table->unsignedInteger('created_at');
-
- $table->index(['queue', 'reserved_at']);
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('jobs');
- }
-}
diff --git a/database/migrations/base_structure/system/2017_04_23_174806_create_failed_jobs_table.php b/database/migrations/base_structure/system/2017_04_23_174806_create_failed_jobs_table.php
deleted file mode 100644
index 389bdf768..000000000
--- a/database/migrations/base_structure/system/2017_04_23_174806_create_failed_jobs_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-bigIncrements('id');
- $table->text('connection');
- $table->text('queue');
- $table->longText('payload');
- $table->longText('exception');
- $table->timestamp('failed_at')->useCurrent();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('failed_jobs');
- }
-}
diff --git a/database/migrations/base_structure/system/2018_07_27_183906_create_model_changelogs_table.php b/database/migrations/base_structure/system/2018_07_27_183906_create_model_changelogs_table.php
deleted file mode 100644
index 75e14a934..000000000
--- a/database/migrations/base_structure/system/2018_07_27_183906_create_model_changelogs_table.php
+++ /dev/null
@@ -1,46 +0,0 @@
-increments('id');
- $table->string('type');
- $table->unsignedInteger('user_id');
- $table->unsignedInteger('changelog_id');
- $table->string('changelog_type');
- $table->timestamps();
- }
- );
-
- if (config('database.connection') === 'mysql') {
- DB::statement('ALTER TABLE model_changelogs ADD COLUMN changelog LONGBLOB null AFTER type');
- } else {
- DB::statement('ALTER TABLE model_changelogs ADD COLUMN changelog BLOB null');
- }
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('model_changelogs');
- }
-}
diff --git a/database/migrations/base_structure/transcript/2019_10_19_213903_create_transcripts_table.php b/database/migrations/base_structure/transcript/2019_10_19_213903_create_transcripts_table.php
deleted file mode 100644
index 6ee4a8b5d..000000000
--- a/database/migrations/base_structure/transcript/2019_10_19_213903_create_transcripts_table.php
+++ /dev/null
@@ -1,41 +0,0 @@
-increments('id');
- $table->unsignedBigInteger('wiki_id')->unique()->nullable();
-
- $table->string('title')->nullable();
- $table->string('youtube_url')->unique()->nullable();
- $table->unsignedBigInteger('format_id')->default(1);
-
- $table->string('source_title');
- $table->string('source_url')->unique();
- $table->timestamp('source_published_at');
-
- $table->timestamp('published_at')->nullable();
- $table->timestamps();
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('transcripts');
- }
-}
diff --git a/database/migrations/base_structure/transcript/2019_10_19_213933_create_transcript_translations_table.php b/database/migrations/base_structure/transcript/2019_10_19_213933_create_transcript_translations_table.php
deleted file mode 100644
index 954d2c652..000000000
--- a/database/migrations/base_structure/transcript/2019_10_19_213933_create_transcript_translations_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-increments('id');
- $table->char('locale_code', 5);
- $table->unsignedInteger('transcript_id');
- $table->boolean('proofread')->default(false);
- $table->longText('translation');
- $table->timestamps();
-
- $table->unique(['locale_code', 'transcript_id'], 'transcript_translations_primary');
- $table->foreign('locale_code')->references('locale_code')->on('languages');
- $table->foreign('transcript_id')->references('id')->on('transcripts')->onDelete('cascade');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('transcript_translations');
- }
-}
diff --git a/database/migrations/base_structure/transcript/2022_01_08_101328_create_new_transcripts_table.php b/database/migrations/base_structure/transcript/2022_01_08_101328_create_new_transcripts_table.php
deleted file mode 100644
index 497a1781c..000000000
--- a/database/migrations/base_structure/transcript/2022_01_08_101328_create_new_transcripts_table.php
+++ /dev/null
@@ -1,43 +0,0 @@
-id();
- $table->string('title');
-
- $table->string('youtube_id')->unique();
- $table->string('playlist_name')->nullable();
- $table->date('upload_date');
- $table->unsignedBigInteger('runtime');
- $table->string('thumbnail')->nullable();
- $table->text('youtube_description');
- $table->string('filename');
- $table->timestamps();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('transcripts');
- Schema::rename('relay_transcripts', 'transcripts');
- }
-}
diff --git a/database/migrations/base_structure/transcript/2022_01_08_102115_create_new_transcripts_translations_table.php b/database/migrations/base_structure/transcript/2022_01_08_102115_create_new_transcripts_translations_table.php
deleted file mode 100644
index 940880de8..000000000
--- a/database/migrations/base_structure/transcript/2022_01_08_102115_create_new_transcripts_translations_table.php
+++ /dev/null
@@ -1,55 +0,0 @@
-id();
- $table->char('locale_code', 5);
- $table->unsignedBigInteger('transcript_id');
- $table->timestamps();
-
- $table->unique(['locale_code', 'transcript_id'], 'new_transcript_translations_primary');
- $table->foreign('locale_code', 'new_transcript_locale_code')
- ->references('locale_code')
- ->on('languages');
-
- $table->foreign('transcript_id', 'new_transcript_transcript_id')
- ->references('id')
- ->on('transcripts')
- ->onDelete('cascade');
- }
- );
-
- if (config('database.connection') === 'mysql') {
- DB::statement('ALTER TABLE transcript_translations ADD COLUMN translation LONGBLOB AFTER transcript_id');
- } else {
- DB::statement('ALTER TABLE transcript_translations ADD COLUMN translation BLOB');
- }
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::dropIfExists('transcript_translations');
- Schema::rename('relay_transcript_translations', 'transcript_translations');
- }
-}
diff --git a/database/migrations/game/2025_11_29_081849_create_game_manufacturers_table.php b/database/migrations/game/2025_11_29_081849_create_game_manufacturers_table.php
new file mode 100644
index 000000000..83275508f
--- /dev/null
+++ b/database/migrations/game/2025_11_29_081849_create_game_manufacturers_table.php
@@ -0,0 +1,30 @@
+id();
+ $table->uuid()->unique();
+ $table->string('name');
+ $table->string('code');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('game_manufacturers');
+ }
+};
diff --git a/database/migrations/game/2025_11_29_082427_create_game_items_table.php b/database/migrations/game/2025_11_29_082427_create_game_items_table.php
new file mode 100644
index 000000000..17578c45a
--- /dev/null
+++ b/database/migrations/game/2025_11_29_082427_create_game_items_table.php
@@ -0,0 +1,29 @@
+id();
+ $table->uuid()->unique();
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('game_items');
+ }
+};
diff --git a/database/migrations/game/2025_11_29_082514_create_game_item_data_table.php b/database/migrations/game/2025_11_29_082514_create_game_item_data_table.php
new file mode 100644
index 000000000..6bd97bc38
--- /dev/null
+++ b/database/migrations/game/2025_11_29_082514_create_game_item_data_table.php
@@ -0,0 +1,43 @@
+id();
+ $table->unsignedBigInteger('item_id');
+ $table->unsignedBigInteger('game_version_id')->index();
+ $table->unsignedBigInteger('manufacturer_id');
+ $table->string('name');
+ $table->string('class_name');
+ $table->string('type')->nullable();
+ $table->string('sub_type')->nullable();
+ $table->string('classification')->nullable();
+ $table->unsignedInteger('size')->nullable();
+ $table->unsignedInteger('grade')->nullable();
+ $table->string('class')->nullable();
+ $table->unsignedBigInteger('base_id')->nullable();
+ $table->jsonb('data');
+ $table->timestamps();
+
+ $table->index(['item_id', 'game_version_id']);
+ $table->index(['item_id', 'type']);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('game_item_data');
+ }
+};
diff --git a/database/migrations/game/2025_11_29_083116_create_game_item_description_data_table.php b/database/migrations/game/2025_11_29_083116_create_game_item_description_data_table.php
new file mode 100644
index 000000000..1b8eac94e
--- /dev/null
+++ b/database/migrations/game/2025_11_29_083116_create_game_item_description_data_table.php
@@ -0,0 +1,30 @@
+id();
+ $table->unsignedBigInteger('item_id');
+ $table->string('name');
+ $table->string('value');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('game_item_description_data');
+ }
+};
diff --git a/database/migrations/game/2025_12_06_164136_create_game_vehicles_table.php b/database/migrations/game/2025_12_06_164136_create_game_vehicles_table.php
new file mode 100644
index 000000000..e0a8e8a98
--- /dev/null
+++ b/database/migrations/game/2025_12_06_164136_create_game_vehicles_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->uuid()->unique();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('game_vehicles');
+ }
+};
diff --git a/database/migrations/game/2025_12_06_164138_create_game_vehicle_data_table.php b/database/migrations/game/2025_12_06_164138_create_game_vehicle_data_table.php
new file mode 100644
index 000000000..849c44885
--- /dev/null
+++ b/database/migrations/game/2025_12_06_164138_create_game_vehicle_data_table.php
@@ -0,0 +1,48 @@
+id();
+ $table->unsignedBigInteger('vehicle_id');
+ $table->unsignedBigInteger('game_version_id')->index();
+ $table->unsignedBigInteger('manufacturer_id')->nullable();
+ $table->unsignedBigInteger('shipmatrix_id')->nullable()->index();
+
+ $table->string('class_name');
+ $table->string('name')->nullable();
+ $table->string('display_name')->nullable();
+ $table->string('career')->nullable();
+ $table->string('role')->nullable();
+
+ $table->boolean('is_vehicle')->default(false);
+ $table->boolean('is_gravlev')->default(false);
+ $table->boolean('is_spaceship')->default(false);
+
+ $table->unsignedInteger('size')->nullable();
+
+ $table->jsonb('data');
+
+ $table->timestamps();
+
+ $table->index(['vehicle_id', 'game_version_id']);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('game_vehicle_data');
+ }
+};
diff --git a/database/migrations/game/2025_12_06_173538_create_game_versions_table.php b/database/migrations/game/2025_12_06_173538_create_game_versions_table.php
new file mode 100644
index 000000000..8f17322fc
--- /dev/null
+++ b/database/migrations/game/2025_12_06_173538_create_game_versions_table.php
@@ -0,0 +1,31 @@
+id();
+ $table->string('code')->unique();
+ $table->string('channel')->nullable();
+ $table->timestamp('released_at')->nullable();
+ $table->boolean('is_default')->default(false);
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('game_versions');
+ }
+};
diff --git a/database/migrations/game/2025_12_29_211931_create_game_entity_tags_table.php b/database/migrations/game/2025_12_29_211931_create_game_entity_tags_table.php
new file mode 100644
index 000000000..837d97681
--- /dev/null
+++ b/database/migrations/game/2025_12_29_211931_create_game_entity_tags_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->uuid('uuid')->unique();
+ $table->string('name');
+ $table->timestamps();
+
+ $table->index('name');
+ });
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('game_entity_tags');
+ }
+};
diff --git a/database/migrations/game/2025_12_29_212012_create_game_item_data_entity_tag_table.php b/database/migrations/game/2025_12_29_212012_create_game_item_data_entity_tag_table.php
new file mode 100644
index 000000000..7c6d651d7
--- /dev/null
+++ b/database/migrations/game/2025_12_29_212012_create_game_item_data_entity_tag_table.php
@@ -0,0 +1,35 @@
+unsignedBigInteger('item_data_id');
+ $table->unsignedBigInteger('entity_tag_id');
+
+ $table->foreign('item_data_id')
+ ->references('id')
+ ->on('game_item_data')
+ ->onDelete('cascade');
+
+ $table->foreign('entity_tag_id')
+ ->references('id')
+ ->on('game_entity_tags')
+ ->onDelete('cascade');
+
+ $table->primary(['item_data_id', 'entity_tag_id']);
+ });
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('game_item_data_entity_tag');
+ }
+};
diff --git a/database/migrations/update/.gitkeep b/database/migrations/update/.gitkeep
deleted file mode 100644
index e69de29bb..000000000
diff --git a/database/migrations/update/2024_01_02_175450_add_fulltext_indices.php b/database/migrations/update/2024_01_02_175450_add_fulltext_indices.php
deleted file mode 100644
index 1cbdd5217..000000000
--- a/database/migrations/update/2024_01_02_175450_add_fulltext_indices.php
+++ /dev/null
@@ -1,63 +0,0 @@
-index('user_id');
- });
-
- Schema::table('galactapedia_article_translations', static function (Blueprint $table) {
- $table->mediumText('translation')->change();
- });
-
- Schema::table('comm_link_translations', static function (Blueprint $table) {
- $table->mediumText('translation')->change();
- });
-
- if (config('database.default') === 'mysql') {
- Schema::table('galactapedia_article_translations', static function (Blueprint $table) {
- $table->fullText('translation');
- });
-
- Schema::table('comm_link_translations', static function (Blueprint $table) {
- $table->fullText('translation');
- });
- }
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('model_changelogs', static function (Blueprint $table) {
- $table->dropIndex(['user_id']);
- });
-
- if (config('database.default') === 'mysql') {
- Schema::table('galactapedia_article_translations', static function (Blueprint $table) {
- $table->dropFullText(['translation']);
- });
-
- Schema::table('comm_link_translations', static function (Blueprint $table) {
- $table->dropFullText(['translation']);
- });
-
- DB::statement('ALTER TABLE galactapedia_article_translations MODIFY translation LONGBLOB;');
- DB::statement('ALTER TABLE comm_link_translations MODIFY translation LONGBLOB;');
- } else {
- DB::statement('ALTER TABLE galactapedia_article_translations MODIFY translation BLOB;');
- DB::statement('ALTER TABLE comm_link_translations MODIFY translation BLOB;');
- }
- }
-};
diff --git a/database/migrations/update/rsi/comm_link/image/2023_12_23_162543_add_base_image_id_to_comm_link_images_table.php b/database/migrations/update/rsi/comm_link/image/2023_12_23_162543_add_base_image_id_to_comm_link_images_table.php
deleted file mode 100644
index a461f1aac..000000000
--- a/database/migrations/update/rsi/comm_link/image/2023_12_23_162543_add_base_image_id_to_comm_link_images_table.php
+++ /dev/null
@@ -1,30 +0,0 @@
-unsignedInteger('base_image_id')->nullable()->after('dir');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('comm_link_images', static function (Blueprint $table) {
- $table->dropColumn('base_image_id');
- });
- }
-};
diff --git a/database/migrations/update/rsi/comm_link/image/2023_12_23_194807_add_pdq_hash_to_comm_link_image_hashes_table.php b/database/migrations/update/rsi/comm_link/image/2023_12_23_194807_add_pdq_hash_to_comm_link_image_hashes_table.php
deleted file mode 100644
index 76cb86f7b..000000000
--- a/database/migrations/update/rsi/comm_link/image/2023_12_23_194807_add_pdq_hash_to_comm_link_image_hashes_table.php
+++ /dev/null
@@ -1,51 +0,0 @@
-id();
- $table->unsignedInteger('comm_link_image_id');
- $table->binary('average_hash');
- $table->binary('perceptual_hash');
- $table->binary('difference_hash');
- $table->binary('pdq_hash1');
- $table->binary('pdq_hash2');
- $table->binary('pdq_hash3');
- $table->binary('pdq_hash4');
- $table->smallInteger('pdq_quality');
- $table->timestamps();
-
- $table->foreign('comm_link_image_id')->references('id')->on('comm_link_images')->onDelete('cascade');
- $table->unique('comm_link_image_id');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::dropIfExists('comm_link_image_hashes');
- Schema::create('comm_link_image_hashes', static function (Blueprint $table) {
- $table->id();
- $table->unsignedInteger('comm_link_image_id');
- $table->binary('average_hash');
- $table->binary('perceptual_hash');
- $table->binary('difference_hash');
- $table->timestamps();
-
- $table->foreign('comm_link_image_id')->references('id')->on('comm_link_images')->onDelete('cascade');
- $table->unique('comm_link_image_id');
- });
- }
-};
diff --git a/database/migrations/update/sc/2023_05_16_215535_add_health_attribute_to_sc_vehicles_table.php b/database/migrations/update/sc/2023_05_16_215535_add_health_attribute_to_sc_vehicles_table.php
deleted file mode 100644
index c3687317b..000000000
--- a/database/migrations/update/sc/2023_05_16_215535_add_health_attribute_to_sc_vehicles_table.php
+++ /dev/null
@@ -1,29 +0,0 @@
-unsignedDouble('health')->nullable()
- ->after('mass');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_vehicles', static function (Blueprint $table) {
- $table->dropColumn('health');
- });
- }
-};
diff --git a/database/migrations/update/sc/2023_05_23_154355_add_ir_temp_threshold_attribute_to_sc_item_heat_data_table.php b/database/migrations/update/sc/2023_05_23_154355_add_ir_temp_threshold_attribute_to_sc_item_heat_data_table.php
deleted file mode 100644
index 3d9406715..000000000
--- a/database/migrations/update/sc/2023_05_23_154355_add_ir_temp_threshold_attribute_to_sc_item_heat_data_table.php
+++ /dev/null
@@ -1,29 +0,0 @@
-unsignedDouble('ir_temperature_threshold')->nullable()
- ->after('temperature_to_ir');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_item_heat_data', static function (Blueprint $table) {
- $table->dropColumn('ir_temperature_threshold');
- });
- }
-};
diff --git a/database/migrations/update/sc/2023_06_17_101824_add_sc_table_indices.php b/database/migrations/update/sc/2023_06_17_101824_add_sc_table_indices.php
deleted file mode 100644
index 5fd76998c..000000000
--- a/database/migrations/update/sc/2023_06_17_101824_add_sc_table_indices.php
+++ /dev/null
@@ -1,58 +0,0 @@
-index('name');
- $table->index('item_uuid');
- });
-
- Schema::table('sc_vehicle_hardpoints', static function (Blueprint $table) {
- $table->index('equipped_item_uuid');
- });
-
- Schema::table('sc_item_port_tag', static function (Blueprint $table) {
- $table->index('item_port_id');
- $table->index('is_required_tag');
- });
-
- Schema::table('sc_item_tag', static function (Blueprint $table) {
- $table->index('item_id');
- $table->index('is_required_tag');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_vehicles', static function (Blueprint $table) {
- $table->dropIndex(['name']);
- $table->dropIndex(['item_uuid']);
- });
-
- Schema::table('sc_vehicle_hardpoints', static function (Blueprint $table) {
- $table->dropIndex(['equipped_item_uuid']);
- });
-
- Schema::table('sc_item_port_tag', static function (Blueprint $table) {
- $table->dropIndex(['item_port_id']);
- $table->dropIndex(['is_required_tag']);
- });
-
- Schema::table('sc_item_tag', static function (Blueprint $table) {
- $table->dropIndex(['item_id']);
- $table->dropIndex(['is_required_tag']);
- });
- }
-};
diff --git a/database/migrations/update/sc/2023_07_19_111340_add_mass_attribute_to_sc_items_table.php b/database/migrations/update/sc/2023_07_19_111340_add_mass_attribute_to_sc_items_table.php
deleted file mode 100644
index 94809ca44..000000000
--- a/database/migrations/update/sc/2023_07_19_111340_add_mass_attribute_to_sc_items_table.php
+++ /dev/null
@@ -1,29 +0,0 @@
-unsignedDouble('mass')->nullable()
- ->after('class_name');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_items', static function (Blueprint $table) {
- $table->dropColumn('mass');
- });
- }
-};
diff --git a/database/migrations/update/sc/2023_07_24_163037_add_decay_delay_attribute_to_sc_item_distortion_data_table.php b/database/migrations/update/sc/2023_07_24_163037_add_decay_delay_attribute_to_sc_item_distortion_data_table.php
deleted file mode 100644
index b04a92c24..000000000
--- a/database/migrations/update/sc/2023_07_24_163037_add_decay_delay_attribute_to_sc_item_distortion_data_table.php
+++ /dev/null
@@ -1,32 +0,0 @@
-unsignedDouble('decay_delay')->nullable()
- ->after('decay_rate');
- $table->unsignedDouble('warning_ratio')->nullable()
- ->after('maximum');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_item_distortion_data', static function (Blueprint $table) {
- $table->dropColumn('decay_delay');
- $table->dropColumn('warning_ratio');
- });
- }
-};
diff --git a/database/migrations/update/sc/2023_11_25_213235_add_params_to_sc_item_missiles_table.php b/database/migrations/update/sc/2023_11_25_213235_add_params_to_sc_item_missiles_table.php
deleted file mode 100644
index 0f7c931db..000000000
--- a/database/migrations/update/sc/2023_11_25_213235_add_params_to_sc_item_missiles_table.php
+++ /dev/null
@@ -1,42 +0,0 @@
-unsignedDouble('lock_range_max')->nullable()->after('lock_time');
- $table->unsignedDouble('lock_range_min')->nullable()->after('lock_time');
- $table->unsignedDouble('lock_angle')->nullable()->after('lock_time');
- $table->unsignedDouble('tracking_signal_min')->nullable()->after('lock_time');
- $table->unsignedDouble('speed')->nullable()->after('lock_time');
- $table->unsignedDouble('fuel_tank_size')->nullable()->after('lock_time');
- $table->unsignedDouble('explosion_radius_min')->nullable()->after('lock_time');
- $table->unsignedDouble('explosion_radius_max')->nullable()->after('lock_time');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_item_missiles', static function (Blueprint $table) {
- $table->dropColumn('lock_range_max');
- $table->dropColumn('lock_range_min');
- $table->dropColumn('lock_angle');
- $table->dropColumn('tracking_signal_min');
- $table->dropColumn('speed');
- $table->dropColumn('fuel_tank_size');
- $table->dropColumn('explosion_radius_min');
- $table->dropColumn('explosion_radius_max');
- });
- }
-};
diff --git a/database/migrations/update/sc/2024_03_02_092126_add_base_version_id_to_sc_items_table.php b/database/migrations/update/sc/2024_03_02_092126_add_base_version_id_to_sc_items_table.php
deleted file mode 100644
index 23ca63574..000000000
--- a/database/migrations/update/sc/2024_03_02_092126_add_base_version_id_to_sc_items_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-unsignedBigInteger('base_id')->nullable()->after('mass');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_items', static function (Blueprint $table) {
- $table->dropColumn('base_id');
- });
- }
-};
diff --git a/database/migrations/update/sc/2024_03_11_203046_add_ammunition_uuid_to_personal_weapon_magazines_table.php b/database/migrations/update/sc/2024_03_11_203046_add_ammunition_uuid_to_personal_weapon_magazines_table.php
deleted file mode 100644
index 2caa7f2c6..000000000
--- a/database/migrations/update/sc/2024_03_11_203046_add_ammunition_uuid_to_personal_weapon_magazines_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-uuid('ammunition_uuid')->nullable()->after('max_ammo_count');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_item_personal_weapon_magazines', static function (Blueprint $table) {
- $table->dropColumn('ammunition_uuid');
- });
- }
-};
diff --git a/database/migrations/update/sc/2024_03_12_203123_add_ammunition_uuid_to_sc_vehicle_weapons_table.php b/database/migrations/update/sc/2024_03_12_203123_add_ammunition_uuid_to_sc_vehicle_weapons_table.php
deleted file mode 100644
index 4dc32c219..000000000
--- a/database/migrations/update/sc/2024_03_12_203123_add_ammunition_uuid_to_sc_vehicle_weapons_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-uuid('ammunition_uuid')->nullable()->after('capacity');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_vehicle_weapons', static function (Blueprint $table) {
- $table->dropColumn('ammunition_uuid');
- });
- }
-};
diff --git a/database/migrations/update/sc/2024_12_22_111420_add_nullable_to_sc_fuel_tanks_table.php b/database/migrations/update/sc/2024_12_22_111420_add_nullable_to_sc_fuel_tanks_table.php
deleted file mode 100644
index b6f3dd753..000000000
--- a/database/migrations/update/sc/2024_12_22_111420_add_nullable_to_sc_fuel_tanks_table.php
+++ /dev/null
@@ -1,32 +0,0 @@
-unsignedDouble('fill_rate')->nullable()->change();
- $table->unsignedDouble('drain_rate')->nullable()->change();
- $table->unsignedDouble('capacity')->nullable()->change();
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_item_fuel_tanks', static function (Blueprint $table) {
- $table->unsignedDouble('fill_rate')->nullable(false)->change();
- $table->unsignedDouble('drain_rate')->nullable(false)->change();
- $table->unsignedDouble('capacity')->nullable(false)->change();
- });
- }
-};
diff --git a/database/migrations/update/sc/2025_05_26_203647_add_cargo_capacity_to_sc_vehicles_table.php b/database/migrations/update/sc/2025_05_26_203647_add_cargo_capacity_to_sc_vehicles_table.php
deleted file mode 100644
index 631eb823e..000000000
--- a/database/migrations/update/sc/2025_05_26_203647_add_cargo_capacity_to_sc_vehicles_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-unsignedDouble('cargo_capacity')->nullable()->after('mass');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_vehicles', static function (Blueprint $table) {
- $table->dropColumn('cargo_capacity');
- });
- }
-};
diff --git a/database/migrations/update/sc/2025_05_26_212526_update_sc_item_flight_controllers_table.php b/database/migrations/update/sc/2025_05_26_212526_update_sc_item_flight_controllers_table.php
deleted file mode 100644
index e25d55e8b..000000000
--- a/database/migrations/update/sc/2025_05_26_212526_update_sc_item_flight_controllers_table.php
+++ /dev/null
@@ -1,57 +0,0 @@
-unsignedDouble('scm_boost_forward')->nullable()->after('scm_speed');
- $table->unsignedDouble('scm_boost_backward')->nullable()->after('scm_boost_forward');
-
- $table->unsignedDouble('pitch_boost_multiplier')->nullable()->after('roll');
- $table->unsignedDouble('roll_boost_multiplier')->nullable()->after('pitch_boost_multiplier');
- $table->unsignedDouble('yaw_boost_multiplier')->nullable()->after('roll_boost_multiplier');
-
- $table->unsignedDouble('afterburner_capacitor')->nullable()->after('yaw_boost_multiplier');
- $table->unsignedDouble('afterburner_idle_cost')->nullable()->after('afterburner_capacitor');
- $table->unsignedDouble('afterburner_linear_cost')->nullable()->after('afterburner_idle_cost');
- $table->unsignedDouble('afterburner_angular_cost')->nullable()->after('afterburner_linear_cost');
- $table->unsignedDouble('afterburner_regen_per_sec')->nullable()->after('afterburner_angular_cost');
- $table->unsignedDouble('afterburner_regen_delay_after_use')->nullable()->after('afterburner_regen_per_sec');
-
- $table->unsignedDouble('afterburner_pre_delay_time')->nullable()->after('afterburner_regen_delay_after_use');
- $table->unsignedDouble('afterburner_ramp_up_time')->nullable()->after('afterburner_pre_delay_time');
- $table->unsignedDouble('afterburner_ramp_down_time')->nullable()->after('afterburner_ramp_up_time');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_item_flight_controllers', static function (Blueprint $table) {
- $table->dropColumn('scm_boost_forward');
- $table->dropColumn('scm_boost_backward');
- $table->dropColumn('pitch_boost_multiplier');
- $table->dropColumn('roll_boost_multiplier');
- $table->dropColumn('yaw_boost_multiplier');
- $table->dropColumn('afterburner_capacitor');
- $table->dropColumn('afterburner_idle_cost');
- $table->dropColumn('afterburner_linear_cost');
- $table->dropColumn('afterburner_angular_cost');
- $table->dropColumn('afterburner_regen_per_sec');
- $table->dropColumn('afterburner_regen_delay_after_use');
- $table->dropColumn('afterburner_pre_delay_time');
- $table->dropColumn('afterburner_ramp_up_time');
- $table->dropColumn('afterburner_ramp_down_time');
- });
- }
-};
diff --git a/database/migrations/update/sc/2025_05_27_194600_add_shield_face_type_to_sc_vehicles_table.php b/database/migrations/update/sc/2025_05_27_194600_add_shield_face_type_to_sc_vehicles_table.php
deleted file mode 100644
index 71c0f56d9..000000000
--- a/database/migrations/update/sc/2025_05_27_194600_add_shield_face_type_to_sc_vehicles_table.php
+++ /dev/null
@@ -1,29 +0,0 @@
-string('shield_face_type')->nullable()->after('expedite_cost');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('sc_vehicles', static function (Blueprint $table) {
- $table->dropColumn('shield_face_type');
- });
- }
-};
diff --git a/database/migrations/update/sc_unpacked/2021_10_26_095453_add_uuid_to_star_citizen_unpacked_vehicles_table.php b/database/migrations/update/sc_unpacked/2021_10_26_095453_add_uuid_to_star_citizen_unpacked_vehicles_table.php
deleted file mode 100644
index 72587f05e..000000000
--- a/database/migrations/update/sc_unpacked/2021_10_26_095453_add_uuid_to_star_citizen_unpacked_vehicles_table.php
+++ /dev/null
@@ -1,35 +0,0 @@
-string('uuid')->nullable()
- ->after('shipmatrix_id');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->dropColumn('uuid');
- });
- }
-}
diff --git a/database/migrations/update/sc_unpacked/2021_11_19_190107_add_dimension_attributes_to_star_citizen_unpacked_vehicles_table.php b/database/migrations/update/sc_unpacked/2021_11_19_190107_add_dimension_attributes_to_star_citizen_unpacked_vehicles_table.php
deleted file mode 100644
index 49abab252..000000000
--- a/database/migrations/update/sc_unpacked/2021_11_19_190107_add_dimension_attributes_to_star_citizen_unpacked_vehicles_table.php
+++ /dev/null
@@ -1,36 +0,0 @@
-unsignedDouble('width')->nullable()->after('size');
- $table->unsignedDouble('height')->nullable()->after('width');
- $table->unsignedDouble('length')->nullable()->after('height');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->dropColumn('width');
- $table->dropColumn('height');
- $table->dropColumn('length');
- });
- }
-}
diff --git a/database/migrations/update/sc_unpacked/2021_12_11_094730_update_health_attributes_on_star_citizen_unpacked_vehicles_table.php b/database/migrations/update/sc_unpacked/2021_12_11_094730_update_health_attributes_on_star_citizen_unpacked_vehicles_table.php
deleted file mode 100644
index cf0bd0015..000000000
--- a/database/migrations/update/sc_unpacked/2021_12_11_094730_update_health_attributes_on_star_citizen_unpacked_vehicles_table.php
+++ /dev/null
@@ -1,48 +0,0 @@
-dropColumn('health_body');
- });
-
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->dropColumn('health_nose');
- });
-
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->unsignedDouble('health')->nullable()->after('mass');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->dropColumn('health');
- });
-
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->unsignedDouble('health_nose')->nullable()->after('mass');
- });
-
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->unsignedDouble('health_body')->nullable()->after('health_nose');
- });
- }
-}
diff --git a/database/migrations/update/sc_unpacked/2021_12_11_173230_add_pitch_yaw_roll_to_sc_unpacked_vehicles_table.php b/database/migrations/update/sc_unpacked/2021_12_11_173230_add_pitch_yaw_roll_to_sc_unpacked_vehicles_table.php
deleted file mode 100644
index 39feef7a3..000000000
--- a/database/migrations/update/sc_unpacked/2021_12_11_173230_add_pitch_yaw_roll_to_sc_unpacked_vehicles_table.php
+++ /dev/null
@@ -1,48 +0,0 @@
-unsignedDouble('pitch')->nullable()->after('max_to_zero');
- });
-
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->unsignedDouble('yaw')->nullable()->after('pitch');
- });
-
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->unsignedDouble('roll')->nullable()->after('yaw');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->dropColumn('roll');
- });
-
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->dropColumn('yaw');
- });
-
- Schema::table('star_citizen_unpacked_vehicles', function (Blueprint $table) {
- $table->dropColumn('pitch');
- });
- }
-}
diff --git a/database/migrations/update/sc_unpacked/2022_08_24_171653_update_attributes_on_sc_unpacked_personal_weapon_attachments.php b/database/migrations/update/sc_unpacked/2022_08_24_171653_update_attributes_on_sc_unpacked_personal_weapon_attachments.php
deleted file mode 100644
index f2236ced4..000000000
--- a/database/migrations/update/sc_unpacked/2022_08_24_171653_update_attributes_on_sc_unpacked_personal_weapon_attachments.php
+++ /dev/null
@@ -1,95 +0,0 @@
-exists()) {
- \Illuminate\Support\Facades\DB::table('star_citizen_unpacked_personal_weapon_attachments')->truncate();
- }
-
- if (DB::getDriverName() !== 'sqlite') {
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->dropForeign('attachment_weapon_id_foreign');
- });
- }
-
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->dropColumn('weapon_id');
- });
-
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->dropColumn('name');
- });
-
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- if (DB::getDriverName() === 'sqlite') {
- $table->string('uuid')->unique()->nullable();
- $table->string('attachment_name')->nullable();
- $table->string('type')->nullable();
- $table->string('version')->nullable();
- } else {
- $table->string('uuid')->unique();
- $table->string('attachment_name');
- $table->string('type');
- $table->string('version');
- }
-
- $table->foreign('uuid', 'attachment_uuid_item')
- ->references('uuid')
- ->on('star_citizen_unpacked_items')
- ->onDelete('cascade');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->unsignedBigInteger('weapon_id');
- $table->dropColumn('name');
-
- $table->foreign('weapon_id', 'attachment_weapon_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapons')
- ->onDelete('cascade');
- });
-
- if (DB::getDriverName() !== 'sqlite') {
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->dropForeign('attachment_uuid_item');
- });
- }
-
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->dropColumn('uuid');
- });
-
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->dropColumn('type');
- });
-
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->dropColumn('attachment_name');
- });
-
- Schema::table('star_citizen_unpacked_personal_weapon_attachments', function (Blueprint $table) {
- $table->dropColumn('version');
- });
- }
-}
diff --git a/database/migrations/update/sc_unpacked/2022_08_24_195651_drop_star_citizen_unpacked_personal_weapon_magazines_table.php b/database/migrations/update/sc_unpacked/2022_08_24_195651_drop_star_citizen_unpacked_personal_weapon_magazines_table.php
deleted file mode 100644
index ab4988a7a..000000000
--- a/database/migrations/update/sc_unpacked/2022_08_24_195651_drop_star_citizen_unpacked_personal_weapon_magazines_table.php
+++ /dev/null
@@ -1,39 +0,0 @@
-id();
- $table->unsignedBigInteger('weapon_id');
- $table->unsignedDouble('initial_ammo_count');
- $table->unsignedDouble('max_ammo_count');
- $table->timestamps();
-
- $table->foreign('weapon_id', 'magazine_weapon_id_foreign')
- ->references('id')
- ->on('star_citizen_unpacked_personal_weapons')
- ->onDelete('cascade');
- });
- }
-}
diff --git a/database/migrations/update/starcitizen/galactapedia/2021_05_17_091528_add_disabled_attribute_to_galactapedia_articles_table.php b/database/migrations/update/starcitizen/galactapedia/2021_05_17_091528_add_disabled_attribute_to_galactapedia_articles_table.php
deleted file mode 100644
index e5fc4541d..000000000
--- a/database/migrations/update/starcitizen/galactapedia/2021_05_17_091528_add_disabled_attribute_to_galactapedia_articles_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-boolean('disabled')
- ->default(false)
- ->after('thumbnail');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('galactapedia_articles', function (Blueprint $table) {
- $table->dropColumn('disabled');
- });
- }
-}
diff --git a/database/migrations/update/starcitizen/galactapedia/2021_12_29_094000_add_in_wiki_attribute_to_galactapedia_articles_table.php b/database/migrations/update/starcitizen/galactapedia/2021_12_29_094000_add_in_wiki_attribute_to_galactapedia_articles_table.php
deleted file mode 100644
index d641e18ec..000000000
--- a/database/migrations/update/starcitizen/galactapedia/2021_12_29_094000_add_in_wiki_attribute_to_galactapedia_articles_table.php
+++ /dev/null
@@ -1,37 +0,0 @@
-boolean('in_wiki')
- ->default(false)
- ->after('disabled');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('galactapedia_articles', function (Blueprint $table) {
- $table->dropColumn('in_wiki');
- });
- }
-}
diff --git a/database/migrations/update/starcitizen/manufacturer/2020_09_16_123333_remove_unique_name_index_from_manufacturers.php b/database/migrations/update/starcitizen/manufacturer/2020_09_16_123333_remove_unique_name_index_from_manufacturers.php
deleted file mode 100644
index 0960e27a1..000000000
--- a/database/migrations/update/starcitizen/manufacturer/2020_09_16_123333_remove_unique_name_index_from_manufacturers.php
+++ /dev/null
@@ -1,45 +0,0 @@
-dropUnique('manufacturers_name_unique');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table(
- 'manufacturers',
- function (Blueprint $table) {
- $table->unique('name');
- }
- );
- }
-}
diff --git a/database/migrations/update/starcitizen/starmap/celestialobject/2021_10_26_133450_make_appearance_nullable_in_celestial_objects_table.php b/database/migrations/update/starcitizen/starmap/celestialobject/2021_10_26_133450_make_appearance_nullable_in_celestial_objects_table.php
deleted file mode 100644
index d2f402e9b..000000000
--- a/database/migrations/update/starcitizen/starmap/celestialobject/2021_10_26_133450_make_appearance_nullable_in_celestial_objects_table.php
+++ /dev/null
@@ -1,32 +0,0 @@
-string('appearance')->nullable()->change();
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('celestial_objects', function (Blueprint $table) {
- $table->string('appearance')->nullable(false)->change();
- });
- }
-}
diff --git a/database/migrations/update/starcitizen/vehicle/2020_12_09_193411_add_msrp_attribute_to_vehicles_table.php b/database/migrations/update/starcitizen/vehicle/2020_12_09_193411_add_msrp_attribute_to_vehicles_table.php
deleted file mode 100644
index 25812d128..000000000
--- a/database/migrations/update/starcitizen/vehicle/2020_12_09_193411_add_msrp_attribute_to_vehicles_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-unsignedInteger('msrp')
- ->nullable()
- ->after('chassis_id');
- }
- );
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table(
- 'vehicles',
- function (Blueprint $table) {
- $table->dropColumn('msrp');
- }
- );
- }
-}
diff --git a/database/migrations/update/starcitizen/vehicle/2024_01_07_131409_add_pledge_link_to_vehicles_table.php b/database/migrations/update/starcitizen/vehicle/2024_01_07_131409_add_pledge_link_to_vehicles_table.php
deleted file mode 100644
index 5c438fd78..000000000
--- a/database/migrations/update/starcitizen/vehicle/2024_01_07_131409_add_pledge_link_to_vehicles_table.php
+++ /dev/null
@@ -1,28 +0,0 @@
-string('pledge_url')->nullable()->after('msrp');
- });
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('vehicles', static function (Blueprint $table) {
- $table->dropColumn('pledge_url');
- });
- }
-};
diff --git a/database/migrations/update/system/2024_05_09_103833_change_locale_code_attribute_in_languages_table.php b/database/migrations/update/system/2024_05_09_103833_change_locale_code_attribute_in_languages_table.php
deleted file mode 100644
index 3ba4b889a..000000000
--- a/database/migrations/update/system/2024_05_09_103833_change_locale_code_attribute_in_languages_table.php
+++ /dev/null
@@ -1,93 +0,0 @@
- $table->dropForeign(['locale_code']));
- Schema::table('sc_item_translations', static fn (Blueprint $table) => $table->dropForeign('fk_sc_i_tra_locale'));
- Schema::table('star_citizen_unpacked_item_translations', static fn (Blueprint $table) => $table->dropForeign('sc_unpacked_item_translations_locale'));
- Schema::table('galactapedia_article_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('manufacturer_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('production_note_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('production_status_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('celestial_object_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('starsystem_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('vehicle_focus_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('vehicle_size_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('vehicle_type_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('vehicle_translations', static fn (Blueprint $table) => $table->dropForeign(['locale_code']));
- Schema::table('transcript_translations', static fn (Blueprint $table) => $table->dropForeign('new_transcript_locale_code'));
- Schema::table('relay_transcript_translations', static fn (Blueprint $table) => $table->dropForeign('transcript_translations_locale_code_foreign'));
- }
-
- Schema::table('languages', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('comm_link_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('sc_item_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('star_citizen_unpacked_item_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('galactapedia_article_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('manufacturer_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('production_note_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('production_status_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('celestial_object_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('starsystem_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('vehicle_focus_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('vehicle_size_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('vehicle_type_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('vehicle_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('transcript_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
- Schema::table('relay_transcript_translations', static fn (Blueprint $table) => $table->char('locale_code', 25)->change());
-
- }
-
- /**
- * Reverse the migrations.
- */
- public function down(): void
- {
- Schema::table('languages', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('comm_link_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('sc_item_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('star_citizen_unpacked_item_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('galactapedia_article_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('manufacturer_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('production_note_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('production_status_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('celestial_object_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('starsystem_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('vehicle_focus_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('vehicle_size_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('vehicle_type_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('vehicle_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('transcript_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
- Schema::table('relay_transcript_translations', static fn (Blueprint $table) => $table->char('locale_code', 5)->change());
-
- /** Re-Add Keys */
- Schema::table('comm_link_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('sc_item_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('star_citizen_unpacked_item_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('galactapedia_article_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('manufacturer_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('production_note_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('production_status_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('celestial_object_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('starsystem_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('vehicle_focus_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('vehicle_size_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('vehicle_type_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('vehicle_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('vehicle_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('transcript_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- Schema::table('relay_transcript_translations', static fn (Blueprint $table) => $table->foreign('locale_code')->references('locale_code')->on('languages'));
- }
-};
diff --git a/database/migrations/update/users/2022_05_05_222303_remove_email_key_from_users_table.php b/database/migrations/update/users/2022_05_05_222303_remove_email_key_from_users_table.php
deleted file mode 100644
index 9ded50e1d..000000000
--- a/database/migrations/update/users/2022_05_05_222303_remove_email_key_from_users_table.php
+++ /dev/null
@@ -1,38 +0,0 @@
-dropUnique('email');
- });
- }
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- if (config('database.connection') === 'mysql') {
- Schema::table('users', function (Blueprint $table) {
- $table->unique('email');
- });
- }
- }
-}
diff --git a/database/migrations/update/users/2023_02_24_100340_add_language_to_user_settings_table.php b/database/migrations/update/users/2023_02_24_100340_add_language_to_user_settings_table.php
deleted file mode 100644
index 5dd318002..000000000
--- a/database/migrations/update/users/2023_02_24_100340_add_language_to_user_settings_table.php
+++ /dev/null
@@ -1,34 +0,0 @@
-string('language');
- });
- }
-
- /**
- * Reverse the migrations.
- *
- * @return void
- */
- public function down()
- {
- Schema::table('user_settings', function (Blueprint $table) {
- $table->dropColumn('language');
- });
- }
-};
diff --git a/database/migrations/v2/2017_01_01_000000_create_languages_table.php b/database/migrations/v2/2017_01_01_000000_create_languages_table.php
new file mode 100644
index 000000000..de125fed2
--- /dev/null
+++ b/database/migrations/v2/2017_01_01_000000_create_languages_table.php
@@ -0,0 +1,33 @@
+id();
+ $table->string('code');
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('languages');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/2018_08_30_100000_create_comm_link_channels_table.php b/database/migrations/v2/rsi/comm_link/2018_08_30_100000_create_comm_link_channels_table.php
new file mode 100644
index 000000000..d73ffe938
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/2018_08_30_100000_create_comm_link_channels_table.php
@@ -0,0 +1,34 @@
+id();
+ $table->string('name')->unique();
+ $table->string('slug')->unique();
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_channels');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/2018_08_30_100001_create_comm_link_categories_table.php b/database/migrations/v2/rsi/comm_link/2018_08_30_100001_create_comm_link_categories_table.php
new file mode 100644
index 000000000..73691e236
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/2018_08_30_100001_create_comm_link_categories_table.php
@@ -0,0 +1,34 @@
+id();
+ $table->string('name')->unique();
+ $table->string('slug')->unique();
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_categories');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/2018_08_30_100002_create_comm_link_series_table.php b/database/migrations/v2/rsi/comm_link/2018_08_30_100002_create_comm_link_series_table.php
new file mode 100644
index 000000000..f8b37c6a1
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/2018_08_30_100002_create_comm_link_series_table.php
@@ -0,0 +1,34 @@
+id();
+ $table->string('name')->unique();
+ $table->string('slug')->unique();
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_series');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/2018_08_30_100003_create_comm_link_links_table.php b/database/migrations/v2/rsi/comm_link/2018_08_30_100003_create_comm_link_links_table.php
new file mode 100644
index 000000000..17b501f90
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/2018_08_30_100003_create_comm_link_links_table.php
@@ -0,0 +1,34 @@
+id();
+ $table->text('href');
+ $table->text('text'); // Thanks RSI
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_links');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/2018_08_30_100005_create_comm_links_table.php b/database/migrations/v2/rsi/comm_link/2018_08_30_100005_create_comm_links_table.php
new file mode 100644
index 000000000..d3fd2ebb8
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/2018_08_30_100005_create_comm_links_table.php
@@ -0,0 +1,53 @@
+id();
+ $table->unsignedBigInteger('cig_id')->unique();
+
+ $table->string('title');
+ $table->unsignedBigInteger('comment_count')->default(0);
+ $table->string('url')->nullable();
+
+ $table->string('file');
+
+ $table->foreignId('channel_id')
+ ->constrained('comm_link_channels')
+ ->cascadeOnDelete();
+ $table->foreignId('category_id')
+ ->constrained('comm_link_categories')
+ ->cascadeOnDelete();
+ $table->foreignId('series_id')
+ ->constrained('comm_link_series')
+ ->cascadeOnDelete();
+
+ $table->timestamp('created_at_file')->nullable();
+
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_links');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/2018_08_30_100008_create_comm_link_comm_link_image_table.php b/database/migrations/v2/rsi/comm_link/2018_08_30_100008_create_comm_link_comm_link_image_table.php
new file mode 100644
index 000000000..46132c57f
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/2018_08_30_100008_create_comm_link_comm_link_image_table.php
@@ -0,0 +1,41 @@
+foreignId('comm_link_id')
+ ->constrained('comm_links')
+ ->cascadeOnDelete();
+ $table->foreignId('comm_link_image_id')
+ ->constrained('comm_link_images')
+ ->cascadeOnDelete();
+
+ $table->unique(['comm_link_id', 'comm_link_image_id']);
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_image');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/2018_08_30_100009_create_comm_link_comm_link_link_table.php b/database/migrations/v2/rsi/comm_link/2018_08_30_100009_create_comm_link_comm_link_link_table.php
new file mode 100644
index 000000000..d6000abfb
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/2018_08_30_100009_create_comm_link_comm_link_link_table.php
@@ -0,0 +1,38 @@
+foreignId('comm_link_id')
+ ->constrained('comm_links')
+ ->cascadeOnDelete();
+ $table->foreignId('comm_link_link_id')
+ ->constrained('comm_link_links')
+ ->cascadeOnDelete();
+
+ $table->unique(['comm_link_id', 'comm_link_link_id']);
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_link');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/2018_09_12_143344_create_comm_links_changed_table.php b/database/migrations/v2/rsi/comm_link/2018_09_12_143344_create_comm_links_changed_table.php
new file mode 100644
index 000000000..a2f7eb54f
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/2018_09_12_143344_create_comm_links_changed_table.php
@@ -0,0 +1,24 @@
+id();
+ $table->text('src');
+ $table->text('alt'); // Thanks RSI???
+ $table->boolean('local')->default(false);
+ $table->string('dir')->nullable();
+ $table->foreignId('base_image_id')
+ ->nullable()
+ ->constrained('comm_link_images')
+ ->nullOnDelete();
+ $table->timestamps();
+
+ $table->index('base_image_id');
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_images');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/image/2020_09_12_140901_create_comm_link_image_hashes_table.php b/database/migrations/v2/rsi/comm_link/image/2020_09_12_140901_create_comm_link_image_hashes_table.php
new file mode 100644
index 000000000..f33dc9a12
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/image/2020_09_12_140901_create_comm_link_image_hashes_table.php
@@ -0,0 +1,41 @@
+id();
+ $table->foreignId('comm_link_image_id')
+ ->constrained('comm_link_images')
+ ->cascadeOnDelete();
+ if (Schema::getConnection()->getDriverName() === 'sqlite') {
+ $table->text('pdq_hash');
+ } else {
+ $table->addColumn('raw', 'pdq_hash', ['definition' => 'bit(256)']);
+ }
+ $table->smallInteger('pdq_quality')->nullable();
+ $table->timestamps();
+
+ $table->unique('comm_link_image_id');
+ $table->index('pdq_hash');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_image_hashes');
+ }
+};
diff --git a/database/migrations/v2/rsi/comm_link/image/2020_09_15_143508_create_comm_link_image_metadata_table.php b/database/migrations/v2/rsi/comm_link/image/2020_09_15_143508_create_comm_link_image_metadata_table.php
new file mode 100644
index 000000000..68497f980
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/image/2020_09_15_143508_create_comm_link_image_metadata_table.php
@@ -0,0 +1,41 @@
+id();
+ $table->foreignId('comm_link_image_id')
+ ->constrained('comm_link_images')
+ ->cascadeOnDelete();
+
+ $table->unsignedBigInteger('size')->nullable();
+ $table->string('mime')->nullable();
+ $table->dateTime('last_modified')->nullable();
+
+ $table->timestamps();
+ $table->unique('comm_link_image_id');
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_image_metadata');
+ }
+};
diff --git a/database/migrations/base_structure/rsi/comm_link/image/2023_12_20_173125_create_comm_link_image_tags_table.php b/database/migrations/v2/rsi/comm_link/image/2023_12_20_173125_create_comm_link_image_tags_table.php
similarity index 100%
rename from database/migrations/base_structure/rsi/comm_link/image/2023_12_20_173125_create_comm_link_image_tags_table.php
rename to database/migrations/v2/rsi/comm_link/image/2023_12_20_173125_create_comm_link_image_tags_table.php
diff --git a/database/migrations/v2/rsi/comm_link/image/2023_12_20_173141_create_comm_link_image_tag_table.php b/database/migrations/v2/rsi/comm_link/image/2023_12_20_173141_create_comm_link_image_tag_table.php
new file mode 100644
index 000000000..626a777ce
--- /dev/null
+++ b/database/migrations/v2/rsi/comm_link/image/2023_12_20_173141_create_comm_link_image_tag_table.php
@@ -0,0 +1,35 @@
+foreignId('image_id')
+ ->constrained('comm_link_images')
+ ->cascadeOnDelete();
+ $table->foreignId('tag_id')
+ ->constrained('comm_link_image_tags')
+ ->cascadeOnDelete();
+
+ $table->unique(['image_id', 'tag_id']);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('comm_link_image_tag');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/2018_03_16_140517_create_stats_table.php b/database/migrations/v2/starcitizen/2018_03_16_140517_create_stats_table.php
new file mode 100644
index 000000000..2b0687ad9
--- /dev/null
+++ b/database/migrations/v2/starcitizen/2018_03_16_140517_create_stats_table.php
@@ -0,0 +1,35 @@
+id();
+ $table->decimal('funds', 15, 2)->unsigned();
+ $table->unsignedBigInteger('fleet');
+ $table->unsignedBigInteger('fans');
+ $table->timestamps();
+ }
+ );
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('stats');
+ }
+};
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_202306_create_galactapedia_categories_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_02_202306_create_galactapedia_categories_table.php
similarity index 82%
rename from database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_202306_create_galactapedia_categories_table.php
rename to database/migrations/v2/starcitizen/galactapedia/2021_02_02_202306_create_galactapedia_categories_table.php
index 627d7b695..48df8927c 100644
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_02_202306_create_galactapedia_categories_table.php
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_02_202306_create_galactapedia_categories_table.php
@@ -6,14 +6,14 @@
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
-class CreateGalactapediaCategoriesTable extends Migration
+return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
- Schema::create('galactapedia_categories', function (Blueprint $table) {
+ Schema::create('galactapedia_categories', static function (Blueprint $table) {
$table->id();
$table->string('cig_id')->unique();
$table->string('name');
@@ -30,4 +30,4 @@ public function down(): void
{
Schema::dropIfExists('galactapedia_categories');
}
-}
+};
diff --git a/database/migrations/v2/starcitizen/galactapedia/2021_02_02_205142_create_galactapedia_articles_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_02_205142_create_galactapedia_articles_table.php
new file mode 100644
index 000000000..becd9bf46
--- /dev/null
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_02_205142_create_galactapedia_articles_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->string('cig_id')->unique();
+ $table->string('title');
+ $table->string('slug');
+ $table->string('thumbnail')->nullable();
+ $table->boolean('disabled')->default(false);
+ $table->boolean('in_wiki')->default(false);
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('galactapedia_articles');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/galactapedia/2021_02_07_194400_create_galactapedia_article_properties_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_194400_create_galactapedia_article_properties_table.php
new file mode 100644
index 000000000..27c20fe51
--- /dev/null
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_194400_create_galactapedia_article_properties_table.php
@@ -0,0 +1,32 @@
+id();
+ $table->unsignedBigInteger('article_id');
+ $table->string('name');
+ $table->text('content');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('galactapedia_article_properties');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/galactapedia/2021_02_07_195236_create_galactapedia_article_categories_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_195236_create_galactapedia_article_categories_table.php
new file mode 100644
index 000000000..8612fef11
--- /dev/null
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_195236_create_galactapedia_article_categories_table.php
@@ -0,0 +1,27 @@
+unsignedBigInteger('article_id');
+ $table->unsignedBigInteger('category_id');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('galactapedia_article_categories');
+ }
+};
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195253_create_galactapedia_tags_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_195253_create_galactapedia_tags_table.php
similarity index 82%
rename from database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195253_create_galactapedia_tags_table.php
rename to database/migrations/v2/starcitizen/galactapedia/2021_02_07_195253_create_galactapedia_tags_table.php
index ed1eef232..0d921e14f 100644
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_195253_create_galactapedia_tags_table.php
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_195253_create_galactapedia_tags_table.php
@@ -6,14 +6,14 @@
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
-class CreateGalactapediaTagsTable extends Migration
+return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
- Schema::create('galactapedia_tags', function (Blueprint $table) {
+ Schema::create('galactapedia_tags', static function (Blueprint $table) {
$table->id();
$table->string('cig_id')->unique();
$table->string('name');
@@ -29,4 +29,4 @@ public function down(): void
{
Schema::dropIfExists('galactapedia_tags');
}
-}
+};
diff --git a/database/migrations/v2/starcitizen/galactapedia/2021_02_07_195302_create_galactapedia_article_tags_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_195302_create_galactapedia_article_tags_table.php
new file mode 100644
index 000000000..d852d21b0
--- /dev/null
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_195302_create_galactapedia_article_tags_table.php
@@ -0,0 +1,27 @@
+unsignedBigInteger('article_id');
+ $table->unsignedBigInteger('tag_id');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('galactapedia_article_tags');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/galactapedia/2021_02_07_202437_create_galactapedia_article_relates_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_202437_create_galactapedia_article_relates_table.php
new file mode 100644
index 000000000..1e1492f22
--- /dev/null
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_202437_create_galactapedia_article_relates_table.php
@@ -0,0 +1,29 @@
+unsignedBigInteger('article_id');
+ $table->unsignedBigInteger('related_article_id');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('galactapedia_article_relates');
+ }
+};
diff --git a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202544_create_galactapedia_templates_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_202544_create_galactapedia_templates_table.php
similarity index 78%
rename from database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202544_create_galactapedia_templates_table.php
rename to database/migrations/v2/starcitizen/galactapedia/2021_02_07_202544_create_galactapedia_templates_table.php
index a3a0ec1ec..bf23e689f 100644
--- a/database/migrations/base_structure/starcitizen/galactapedia/2021_02_07_202544_create_galactapedia_templates_table.php
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_202544_create_galactapedia_templates_table.php
@@ -6,14 +6,14 @@
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
-class CreateGalactapediaTemplatesTable extends Migration
+return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
- Schema::create('galactapedia_templates', function (Blueprint $table) {
+ Schema::create('galactapedia_templates', static function (Blueprint $table) {
$table->id();
$table->string('template');
$table->timestamps();
@@ -27,4 +27,4 @@ public function down(): void
{
Schema::dropIfExists('galactapedia_templates');
}
-}
+};
diff --git a/database/migrations/v2/starcitizen/galactapedia/2021_02_07_202605_create_galactapedia_article_templates_table.php b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_202605_create_galactapedia_article_templates_table.php
new file mode 100644
index 000000000..f7f9f25fc
--- /dev/null
+++ b/database/migrations/v2/starcitizen/galactapedia/2021_02_07_202605_create_galactapedia_article_templates_table.php
@@ -0,0 +1,29 @@
+unsignedBigInteger('article_id');
+ $table->unsignedBigInteger('template_id');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('galactapedia_article_templates');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/2018_01_01_000000_create_manufacturers_table.php b/database/migrations/v2/starcitizen/ship_matrix/2018_01_01_000000_create_manufacturers_table.php
new file mode 100644
index 000000000..723d08cbe
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/2018_01_01_000000_create_manufacturers_table.php
@@ -0,0 +1,33 @@
+id();
+ $table->unsignedBigInteger('cig_id');
+ $table->string('name');
+ $table->string('name_short')->unique();
+ $table->json('known_for')->nullable();
+ $table->json('description')->nullable();
+ $table->timestamps();
+
+ $table->unique('cig_id');
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_manufacturers');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/2018_01_02_000000_create_production_notes_table.php b/database/migrations/v2/starcitizen/ship_matrix/2018_01_02_000000_create_production_notes_table.php
new file mode 100644
index 000000000..5005c0688
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/2018_01_02_000000_create_production_notes_table.php
@@ -0,0 +1,27 @@
+id();
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_production_notes');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/2018_01_03_000000_create_production_statuses_table.php b/database/migrations/v2/starcitizen/ship_matrix/2018_01_03_000000_create_production_statuses_table.php
new file mode 100644
index 000000000..de8f24861
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/2018_01_03_000000_create_production_statuses_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->string('slug')->unique();
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_production_statuses');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_04_000000_create_vehicle_foci_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_04_000000_create_vehicle_foci_table.php
new file mode 100644
index 000000000..6c608ce6c
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_04_000000_create_vehicle_foci_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->string('slug')->unique();
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicle_foci');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_05_000001_create_vehicle_sizes_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_05_000001_create_vehicle_sizes_table.php
new file mode 100644
index 000000000..39495f058
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_05_000001_create_vehicle_sizes_table.php
@@ -0,0 +1,28 @@
+id();
+ $table->string('slug')->unique();
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicle_sizes');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_06_000001_create_vehicle_types_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_06_000001_create_vehicle_types_table.php
new file mode 100644
index 000000000..136243842
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_01_06_000001_create_vehicle_types_table.php
@@ -0,0 +1,25 @@
+id();
+ $table->string('slug')->unique();
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicle_types');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_02_01_000000_create_vehicles_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_02_01_000000_create_vehicles_table.php
new file mode 100644
index 000000000..6227d2b7e
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_02_01_000000_create_vehicles_table.php
@@ -0,0 +1,53 @@
+id();
+ $table->unsignedBigInteger('cig_id')->unique();
+ $table->string('name')->unique();
+ $table->string('slug')->unique();
+ $table->unsignedBigInteger('manufacturer_id');
+ $table->unsignedBigInteger('production_status_id');
+ $table->unsignedBigInteger('production_note_id');
+ $table->unsignedBigInteger('size_id');
+ $table->unsignedBigInteger('type_id');
+ $table->decimal('length')->nullable();
+ $table->decimal('beam')->nullable();
+ $table->decimal('height')->nullable();
+ $table->unsignedBigInteger('mass')->nullable();
+ $table->decimal('cargo_capacity')->nullable();
+ $table->unsignedInteger('min_crew')->nullable();
+ $table->unsignedInteger('max_crew')->nullable();
+ $table->unsignedInteger('scm_speed')->nullable();
+ $table->unsignedInteger('afterburner_speed')->nullable();
+ $table->decimal('pitch_max')->nullable();
+ $table->decimal('yaw_max')->nullable();
+ $table->decimal('roll_max')->nullable();
+ $table->decimal('x_axis_acceleration')->nullable();
+ $table->decimal('y_axis_acceleration')->nullable();
+ $table->decimal('z_axis_acceleration')->nullable();
+ $table->unsignedInteger('chassis_id');
+ $table->unsignedInteger('msrp')->nullable();
+ $table->string('pledge_url')->nullable();
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicles');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_02_01_000002_create_vehicle_vehicle_focus_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_02_01_000002_create_vehicle_vehicle_focus_table.php
new file mode 100644
index 000000000..73be632c1
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2018_02_01_000002_create_vehicle_vehicle_focus_table.php
@@ -0,0 +1,26 @@
+unsignedBigInteger('vehicle_id');
+ $table->unsignedBigInteger('focus_id');
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicle_vehicle_focus');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2020_09_18_124433_create_vehicle_components_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2020_09_18_124433_create_vehicle_components_table.php
new file mode 100644
index 000000000..4a78c10af
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2020_09_18_124433_create_vehicle_components_table.php
@@ -0,0 +1,32 @@
+id();
+ $table->string('type');
+ $table->string('name');
+ $table->string('component_class');
+ $table->string('component_size', 3)->nullable();
+ $table->string('category', 3)->nullable();
+ $table->string('manufacturer')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicle_components');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2020_09_18_124902_create_vehicle_component_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2020_09_18_124902_create_vehicle_component_table.php
new file mode 100644
index 000000000..2da982679
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2020_09_18_124902_create_vehicle_component_table.php
@@ -0,0 +1,31 @@
+unsignedBigInteger('vehicle_id');
+ $table->unsignedBigInteger('component_id');
+
+ $table->unsignedInteger('mounts')->default(0);
+ $table->string('size', 3)->nullable();
+ $table->text('details')->nullable();
+ $table->unsignedInteger('quantity')->default(1);
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicle_component');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2023_05_25_153213_create_vehicle_loaners_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2023_05_25_153213_create_vehicle_loaners_table.php
new file mode 100644
index 000000000..aea2cc717
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2023_05_25_153213_create_vehicle_loaners_table.php
@@ -0,0 +1,22 @@
+unsignedInteger('vehicle_id');
+ $table->unsignedInteger('loaner_id');
+ $table->string('version');
+ });
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicle_loaners');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/ship_matrix/vehicle/2024_01_07_132833_create_vehicle_skus_table.php b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2024_01_07_132833_create_vehicle_skus_table.php
new file mode 100644
index 000000000..e0b09c2be
--- /dev/null
+++ b/database/migrations/v2/starcitizen/ship_matrix/vehicle/2024_01_07_132833_create_vehicle_skus_table.php
@@ -0,0 +1,26 @@
+id();
+ $table->unsignedBigInteger('vehicle_id');
+ $table->string('title');
+ $table->unsignedInteger('price');
+ $table->boolean('available');
+ $table->unsignedBigInteger('cig_id');
+ $table->timestamps();
+ });
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('shipmatrix_vehicle_skus');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/starmap/2018_08_04_000001_create_affiliations_table.php b/database/migrations/v2/starcitizen/starmap/2018_08_04_000001_create_affiliations_table.php
new file mode 100644
index 000000000..3df889a56
--- /dev/null
+++ b/database/migrations/v2/starcitizen/starmap/2018_08_04_000001_create_affiliations_table.php
@@ -0,0 +1,33 @@
+id();
+ $table->unsignedBigInteger('cig_id');
+
+ $table->string('name');
+ $table->string('code');
+ $table->string('color');
+ $table->unsignedBigInteger('membership_id')->nullable();
+
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('starmap_affiliations');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/starmap/2018_08_05_000001_create_starsystems_table.php b/database/migrations/v2/starcitizen/starmap/2018_08_05_000001_create_starsystems_table.php
new file mode 100644
index 000000000..a609ae10f
--- /dev/null
+++ b/database/migrations/v2/starcitizen/starmap/2018_08_05_000001_create_starsystems_table.php
@@ -0,0 +1,53 @@
+id();
+
+ $table->unsignedBigInteger('cig_id');
+ $table->char('code', 20);
+
+ $table->string('status');
+
+ $table->string('info_url')->nullable();
+
+ $table->string('name');
+ $table->string('type');
+
+ $table->decimal('position_x');
+ $table->decimal('position_y');
+ $table->decimal('position_z');
+
+ $table->decimal('frost_line')->nullable();
+ $table->decimal('habitable_zone_inner')->nullable();
+ $table->decimal('habitable_zone_outer')->nullable();
+
+ $table->decimal('aggregated_size');
+ $table->decimal('aggregated_population');
+ $table->decimal('aggregated_economy');
+ $table->unsignedInteger('aggregated_danger');
+
+ $table->dateTime('time_modified');
+
+ $table->json('translation')->nullable();
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('starmap_starsystems');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/starmap/2018_08_06_000001_create_celestial_object_subtypes_table.php b/database/migrations/v2/starcitizen/starmap/2018_08_06_000001_create_celestial_object_subtypes_table.php
new file mode 100644
index 000000000..e55e5028f
--- /dev/null
+++ b/database/migrations/v2/starcitizen/starmap/2018_08_06_000001_create_celestial_object_subtypes_table.php
@@ -0,0 +1,29 @@
+id();
+ $table->string('name');
+ $table->string('type');
+
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('starmap_celestial_object_subtypes');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/starmap/2018_08_06_000002_create_celestial_objects_table.php b/database/migrations/v2/starcitizen/starmap/2018_08_06_000002_create_celestial_objects_table.php
new file mode 100644
index 000000000..400d1aafa
--- /dev/null
+++ b/database/migrations/v2/starcitizen/starmap/2018_08_06_000002_create_celestial_objects_table.php
@@ -0,0 +1,59 @@
+id();
+
+ $table->unsignedBigInteger('cig_id');
+ $table->unsignedBigInteger('starsystem_id');
+
+ $table->string('age')->nullable();
+ $table->string('appearance')->nullable();
+ $table->decimal('axial_tilt')->nullable();
+ $table->string('code');
+ $table->string('designation');
+ $table->decimal('distance')->nullable();
+ $table->boolean('fairchanceact')->nullable();
+ $table->boolean('habitable')->nullable();
+ $table->string('info_url')->nullable();
+ $table->decimal('latitude')->nullable();
+ $table->decimal('longitude')->nullable();
+ $table->string('name')->nullable();
+ $table->string('orbit_period')->nullable();
+ $table->unsignedBigInteger('parent_id')->nullable();
+ $table->unsignedInteger('sensor_danger');
+ $table->unsignedInteger('sensor_economy');
+ $table->unsignedInteger('sensor_population');
+
+ $table->string('size')->nullable();
+ $table->unsignedBigInteger('subtype_id')->nullable();
+
+ $table->string('type');
+
+ $table->dateTime('time_modified');
+ $table->json('translation')->nullable();
+ $table->timestamps();
+
+ $table->unique('cig_id');
+ $table->unique('code');
+ $table->index('code');
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('starmap_celestial_objects');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/starmap/2018_08_07_000001_create_jumppoints_table.php b/database/migrations/v2/starcitizen/starmap/2018_08_07_000001_create_jumppoints_table.php
new file mode 100644
index 000000000..1d6b0a66a
--- /dev/null
+++ b/database/migrations/v2/starcitizen/starmap/2018_08_07_000001_create_jumppoints_table.php
@@ -0,0 +1,36 @@
+id();
+ $table->unsignedBigInteger('cig_id');
+ $table->string('direction');
+ $table->unsignedBigInteger('entry_id');
+ $table->unsignedBigInteger('exit_id');
+ $table->string('name')->nullable();
+ $table->string('size');
+
+ $table->string('entry_status')->nullable();
+ $table->string('exit_status')->nullable();
+
+ $table->timestamps();
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('starmap_jumppoints');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/starmap/2020_09_27_142923_create_starsystem_affiliation_table.php b/database/migrations/v2/starcitizen/starmap/2020_09_27_142923_create_starsystem_affiliation_table.php
new file mode 100644
index 000000000..6ab68be3b
--- /dev/null
+++ b/database/migrations/v2/starcitizen/starmap/2020_09_27_142923_create_starsystem_affiliation_table.php
@@ -0,0 +1,26 @@
+unsignedBigInteger('starsystem_id');
+ $table->unsignedBigInteger('affiliation_id');
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('starmap_starsystem_affiliation');
+ }
+};
diff --git a/database/migrations/v2/starcitizen/starmap/2020_09_27_142958_create_celestial_object_affiliation_table.php b/database/migrations/v2/starcitizen/starmap/2020_09_27_142958_create_celestial_object_affiliation_table.php
new file mode 100644
index 000000000..61691c8e1
--- /dev/null
+++ b/database/migrations/v2/starcitizen/starmap/2020_09_27_142958_create_celestial_object_affiliation_table.php
@@ -0,0 +1,26 @@
+unsignedBigInteger('celestial_object_id');
+ $table->unsignedBigInteger('affiliation_id');
+ }
+ );
+ }
+
+ public function down(): void
+ {
+ Schema::dropIfExists('starmap_celestial_object_affiliation');
+ }
+};
diff --git a/database/seeders/Accounts/UserGroupTableSeeder.php b/database/seeders/Accounts/UserGroupTableSeeder.php
deleted file mode 100644
index 18a125077..000000000
--- a/database/seeders/Accounts/UserGroupTableSeeder.php
+++ /dev/null
@@ -1,63 +0,0 @@
-where(self::ATTR_NAME, 'user')->exists()) {
- return;
- }
-
- DB::table(self::TBL_GROUPS)->insert(
- [
- self::ATTR_NAME => 'user',
- self::ATTR_PERMISSION_LEVEL => 0,
- ]
- );
- DB::table(self::TBL_GROUPS)->insert(
- [
- self::ATTR_NAME => 'mitarbeiter',
- self::ATTR_PERMISSION_LEVEL => 1,
- ]
- );
- DB::table(self::TBL_GROUPS)->insert(
- [
- self::ATTR_NAME => 'sichter',
- self::ATTR_PERMISSION_LEVEL => 2,
- ]
- );
- DB::table(self::TBL_GROUPS)->insert(
- [
- self::ATTR_NAME => 'sysop',
- self::ATTR_PERMISSION_LEVEL => 3,
- ]
- );
- if (DB::table(self::TBL_GROUPS)->where(self::ATTR_NAME, 'bureaucrat')->count() === 0) {
- DB::table(self::TBL_GROUPS)->insert(
- [
- self::ATTR_NAME => 'bureaucrat',
- self::ATTR_PERMISSION_LEVEL => 4,
- ]
- );
- }
- }
-}
diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php
index bd361aa09..e6b1dc516 100644
--- a/database/seeders/DatabaseSeeder.php
+++ b/database/seeders/DatabaseSeeder.php
@@ -4,7 +4,7 @@
namespace Database\Seeders;
-use Database\Seeders\Accounts\UserGroupTableSeeder;
+use App\Models\Game\Manufacturer;
use Database\Seeders\Rsi\CommLink\CategoryTableSeeder;
use Database\Seeders\Rsi\CommLink\ChannelTableSeeder;
use Database\Seeders\Rsi\CommLink\SeriesTableSeeder;
@@ -29,9 +29,15 @@ class DatabaseSeeder extends Seeder
public function run()
{
$this->seedSystemTables();
- $this->seedAccountTables();
$this->seedApiTables();
$this->seedRsiTables();
+
+ Manufacturer::query()->updateOrCreate([
+ 'uuid' => '00000000-0000-0000-0000-000000000000',
+ ], [
+ 'name' => 'Unknown Manufacturer',
+ 'code' => 'UNKN',
+ ]);
}
/**
@@ -42,21 +48,13 @@ private function seedSystemTables()
$this->call(LanguageTableSeeder::class);
}
- /**
- * Account Tables: Groups, Admin, Users
- */
- private function seedAccountTables()
- {
- $this->call(UserGroupTableSeeder::class);
- }
-
/**
* API Tables
*/
private function seedApiTables()
{
/** Stats */
- $this->call(StatTableSeeder::class);
+ // $this->call(StatTableSeeder::class);
/** Star Citizen General */
$this->call(ProductionStatusTableSeeder::class);
diff --git a/database/seeders/StarCitizen/ProductionNoteTableSeeder.php b/database/seeders/StarCitizen/ProductionNoteTableSeeder.php
index 027e5fe07..1de03bab4 100644
--- a/database/seeders/StarCitizen/ProductionNoteTableSeeder.php
+++ b/database/seeders/StarCitizen/ProductionNoteTableSeeder.php
@@ -4,7 +4,6 @@
namespace Database\Seeders\StarCitizen;
-use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
@@ -15,33 +14,17 @@ class ProductionNoteTableSeeder extends Seeder
*/
public function run(): void
{
- if (DB::table('production_notes')->where('id', 1)->exists()) {
+ if (DB::table('shipmatrix_production_notes')->where('id', 1)->exists()) {
return;
}
- $now = Carbon::now();
-
- DB::table('production_notes')->insert(
+ DB::table('shipmatrix_production_notes')->insert(
[
'id' => 1,
- ]
- );
- DB::table('production_note_translations')->insert(
- [
- 'locale_code' => 'en_EN',
- 'production_note_id' => 1,
- 'translation' => 'None',
- 'created_at' => $now,
- 'updated_at' => $now,
- ]
- );
- DB::table('production_note_translations')->insert(
- [
- 'locale_code' => 'de_DE',
- 'production_note_id' => 1,
- 'translation' => 'Keine',
- 'created_at' => $now,
- 'updated_at' => $now,
+ 'translation' => json_encode([
+ 'en' => 'None',
+ 'de' => 'Keine',
+ ], JSON_THROW_ON_ERROR),
]
);
}
diff --git a/database/seeders/StarCitizen/ProductionStatusTableSeeder.php b/database/seeders/StarCitizen/ProductionStatusTableSeeder.php
index 44c938075..e0fadabb7 100644
--- a/database/seeders/StarCitizen/ProductionStatusTableSeeder.php
+++ b/database/seeders/StarCitizen/ProductionStatusTableSeeder.php
@@ -4,7 +4,6 @@
namespace Database\Seeders\StarCitizen;
-use Carbon\Carbon;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
@@ -15,34 +14,18 @@ class ProductionStatusTableSeeder extends Seeder
*/
public function run(): void
{
- if (DB::table('production_statuses')->where('id', 1)->exists()) {
+ if (DB::table('shipmatrix_production_statuses')->where('id', 1)->exists()) {
return;
}
- $now = Carbon::now();
-
- DB::table('production_statuses')->insert(
+ DB::table('shipmatrix_production_statuses')->insert(
[
'id' => 1,
'slug' => 'undefined',
- ]
- );
- DB::table('production_status_translations')->insert(
- [
- 'locale_code' => 'en_EN',
- 'production_status_id' => 1,
- 'translation' => 'undefined',
- 'created_at' => $now,
- 'updated_at' => $now,
- ]
- );
- DB::table('production_status_translations')->insert(
- [
- 'locale_code' => 'de_DE',
- 'production_status_id' => 1,
- 'translation' => 'Undefiniert',
- 'created_at' => $now,
- 'updated_at' => $now,
+ 'translations' => json_encode([
+ 'en' => 'Undefined',
+ 'de' => 'Undefiniert',
+ ], JSON_THROW_ON_ERROR),
]
);
}
diff --git a/database/seeders/StarCitizen/Vehicle/SizeTableSeeder.php b/database/seeders/StarCitizen/Vehicle/SizeTableSeeder.php
index a445bd873..eebc9565f 100644
--- a/database/seeders/StarCitizen/Vehicle/SizeTableSeeder.php
+++ b/database/seeders/StarCitizen/Vehicle/SizeTableSeeder.php
@@ -4,8 +4,7 @@
namespace Database\Seeders\StarCitizen\Vehicle;
-use App\Models\StarCitizen\Vehicle\Size\Size;
-use Carbon\Carbon;
+use App\Models\StarCitizen\ShipMatrix\Vehicle\Size;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
@@ -20,30 +19,14 @@ public function run(): void
return;
}
- $now = Carbon::now();
-
- DB::table('vehicle_sizes')->insert(
+ DB::table('shipmatrix_vehicle_sizes')->insert(
[
'id' => 1,
'slug' => 'undefined',
- ]
- );
- DB::table('vehicle_size_translations')->insert(
- [
- 'locale_code' => 'en_EN',
- 'size_id' => 1,
- 'translation' => 'undefined',
- 'created_at' => $now,
- 'updated_at' => $now,
- ]
- );
- DB::table('vehicle_size_translations')->insert(
- [
- 'locale_code' => 'de_DE',
- 'size_id' => 1,
- 'translation' => 'Undefiniert',
- 'created_at' => $now,
- 'updated_at' => $now,
+ 'translations' => json_encode([
+ 'en' => 'Undefined',
+ 'de' => 'Undefiniert',
+ ], JSON_THROW_ON_ERROR),
]
);
}
diff --git a/database/seeders/StarCitizen/Vehicle/TypeTableSeeder.php b/database/seeders/StarCitizen/Vehicle/TypeTableSeeder.php
index f27606272..8750e15d2 100644
--- a/database/seeders/StarCitizen/Vehicle/TypeTableSeeder.php
+++ b/database/seeders/StarCitizen/Vehicle/TypeTableSeeder.php
@@ -4,8 +4,7 @@
namespace Database\Seeders\StarCitizen\Vehicle;
-use App\Models\StarCitizen\Vehicle\Type\Type;
-use Carbon\Carbon;
+use App\Models\StarCitizen\ShipMatrix\Vehicle\Type;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
@@ -20,30 +19,14 @@ public function run(): void
return;
}
- $now = Carbon::now();
-
- DB::table('vehicle_types')->insert(
+ DB::table('shipmatrix_vehicle_types')->insert(
[
'id' => 1,
'slug' => 'undefined',
- ]
- );
- DB::table('vehicle_type_translations')->insert(
- [
- 'locale_code' => 'en_EN',
- 'type_id' => 1,
- 'translation' => 'undefined',
- 'created_at' => $now,
- 'updated_at' => $now,
- ]
- );
- DB::table('vehicle_type_translations')->insert(
- [
- 'locale_code' => 'de_DE',
- 'type_id' => 1,
- 'translation' => 'Undefiniert',
- 'created_at' => $now,
- 'updated_at' => $now,
+ 'translations' => json_encode([
+ 'en' => 'Undefined',
+ 'de' => 'Undefiniert',
+ ], JSON_THROW_ON_ERROR),
]
);
}
diff --git a/database/seeders/StarCitizen/Vehicle/VehicleTranslationSeeder.php b/database/seeders/StarCitizen/Vehicle/VehicleTranslationSeeder.php
index f467a8415..b6abbb4dd 100644
--- a/database/seeders/StarCitizen/Vehicle/VehicleTranslationSeeder.php
+++ b/database/seeders/StarCitizen/Vehicle/VehicleTranslationSeeder.php
@@ -16,11 +16,10 @@ class VehicleTranslationSeeder extends Seeder
*/
public function run()
{
- DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/focus.sql')));
- DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/size.sql')));
- DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/type.sql')));
-
- DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/production_note.sql')));
- DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/production_status.sql')));
+ // DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/focus.sql')));
+ // DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/size.sql')));
+ // DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/type.sql')));
+ // DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/production_note.sql')));
+ // DB::unprepared(file_get_contents(database_path('dumps/vehicle_translations/production_status.sql')));
}
}
diff --git a/database/seeders/System/LanguageTableSeeder.php b/database/seeders/System/LanguageTableSeeder.php
index 81af13c21..0efe91193 100644
--- a/database/seeders/System/LanguageTableSeeder.php
+++ b/database/seeders/System/LanguageTableSeeder.php
@@ -14,8 +14,8 @@ class LanguageTableSeeder extends Seeder
*/
public function run(): void
{
- Language::query()->firstOrCreate(['locale_code' => Language::ENGLISH]);
- Language::query()->firstOrCreate(['locale_code' => Language::GERMAN]);
- Language::query()->firstOrCreate(['locale_code' => Language::CHINESE]);
+ Language::query()->firstOrCreate(['code' => 'en']);
+ Language::query()->firstOrCreate(['code' => 'de']);
+ Language::query()->firstOrCreate(['code' => 'zh']);
}
}
diff --git a/docker-build.sh b/docker-build.sh
deleted file mode 100644
index 5946bc67c..000000000
--- a/docker-build.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-#!/bin/bash
-docker build -t scw-api:7.0 .
\ No newline at end of file
diff --git a/docker-compose.yml b/docker-compose.yml
deleted file mode 100644
index 9cd46b669..000000000
--- a/docker-compose.yml
+++ /dev/null
@@ -1,80 +0,0 @@
-version: '3'
-
-services:
- api.star-citizen.wiki:
- image: scwiki/api:dev
- container_name: api.star-citizen.wiki
- restart: unless-stopped
- security_opt:
- - no-new-privileges:true
- depends_on:
- - db
- links:
- - db
- expose:
- - 80
- environment:
- APP_ENV: production
- CONTAINER_ROLE: app
- volumes:
- - ./var/lib/api.star-citizen.wiki/storage:/var/www/html/storage/app
- - ./var/lib/api.star-citizen.wiki/logs:/var/www/html/storage/logs
- - ./.env:/var/www/html/.env
- - /etc/localtime:/etc/localtime:ro
- networks:
- api.star-citizen.wiki:
- internal:
- labels:
- - "traefik.enable=true"
- - "traefik.docker.network=api.star-citizen.wiki"
- - "traefik.http.routers.api-star-citizen.rule=Host(`api.star-citizen.wiki`)"
- - "traefik.http.routers.api-star-citizen.entryPoints=https"
- - "traefik.http.routers.api-star-citizen.tls=true"
- deploy:
- resources:
- limits:
- cpus: '2'
- memory: 512M
-
-
- db:
- image: mariadb:latest
- restart: unless-stopped
- security_opt:
- - no-new-privileges:true
- volumes:
- - ./var/lib/api.star-citizen.wiki/db:/var/lib/mysql
- - /etc/localtime:/etc/localtime:ro
- environment:
- MYSQL_DATABASE:
- MYSQL_ROOT_PASSWORD:
- MYSQL_USER:
- MYSQL_PASSWORD:
- networks:
- - internal
- deploy:
- resources:
- limits:
- cpus: '2'
-
- ofelia:
- image:
- mcuadros/ofelia:latest
- networks:
- - internal
- depends_on:
- - api.star-citizen.wiki
- - db
- volumes:
- - /var/run/docker.sock:/var/run/docker.sock:ro
- - ./docker/ofelia.ini:/etc/ofelia/config.ini:ro
- deploy:
- resources:
- limits:
- cpus: '1'
-
-
-networks:
- api.star-citizen.wiki:
- external: true
- internal:
\ No newline at end of file
diff --git a/docker/ofelia.ini b/docker/ofelia.ini
deleted file mode 100644
index c20944a87..000000000
--- a/docker/ofelia.ini
+++ /dev/null
@@ -1,37 +0,0 @@
-[global]
-smtp-host =
-smtp-port =
-smtp-user =
-smtp-password =
-email-to =
-email-from =
-mail-only-on-error = true
-
-# Wiki Jobs
-[job-exec "schedule"]
-schedule = @every 1m
-container = api.star-citizen.wiki
-command = /usr/local/bin/schedule
-user = www-data
-no-overlap = true
-
-[job-exec "queue"]
-schedule = @every 10s
-container = api.star-citizen.wiki
-command = /usr/local/bin/php /var/www/html/artisan queue:work --verbose --tries=3 --timeout=90 --sleep=10 --memory=512 --max-jobs=20 --stop-when-empty
-user = www-data
-no-overlap = true
-
-[job-exec "download-images"]
-schedule = @every 1m
-container = api.star-citizen.wiki
-command = /usr/local/bin/php /var/www/html/artisan queue:work --verbose --tries=1 --timeout=90 --sleep=10 --memory=512 --max-jobs=200 --stop-when-empty --queue comm_link_images
-user = www-data
-no-overlap = true
-
-[job-exec "re-download-comm-link"]
-schedule = @every 1m
-container = api.star-citizen.wiki
-command = /usr/local/bin/php /var/www/html/artisan queue:work --verbose --tries=1 --timeout=90 --memory=512 --max-jobs=20 --stop-when-empty --queue redownload_comm_links
-user = www-data
-no-overlap = true
\ No newline at end of file
diff --git a/docker/schedule.sh b/docker/schedule.sh
deleted file mode 100644
index 47816b114..000000000
--- a/docker/schedule.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-IP=/var/www/html
-
-/usr/local/bin/php "$IP/artisan" schedule:run --verbose --no-interaction >> /dev/null 2>&1
-
-exit 0
diff --git a/docker/start.sh b/docker/start.sh
old mode 100644
new mode 100755
index 931ee32c7..5b11925d0
--- a/docker/start.sh
+++ b/docker/start.sh
@@ -1,33 +1,55 @@
#!/usr/bin/env bash
-
set -e
-role=${CONTAINER_ROLE:-app}
-env=${APP_ENV:-production}
+role="${CONTAINER_ROLE:-app}"
+env="${APP_ENV:-production}"
if [ "$env" != "local" ]; then
- echo "Caching configuration..."
- (php artisan config:cache && php artisan view:cache)
+ echo "Caching configuration..."
+ php artisan config:cache
+ php artisan view:cache
fi
-if [ "$role" = "app" ]; then
-
+case "$role" in
+ app)
exec apache2-foreground
-
-elif [ "$role" = "queue" ]; then
-
- echo "Running the queue..."
- php artisan queue:work --verbose --tries=3 --timeout=90 --sleep=10 --memory=512
-
-elif [ "$role" = "scheduler" ]; then
-
- while true
- do
- php artisan schedule:run --verbose --no-interaction &
- sleep 60
- done
-
-else
+ ;;
+
+ queue)
+ echo "Running the queue worker..."
+ queue_conn="${QUEUE_CONNECTION_NAME:-}" # optional, e.g. "redis"
+ queue_name="${QUEUE_NAME:-default}"
+ tries="${QUEUE_TRIES:-3}"
+ timeout="${QUEUE_TIMEOUT:-90}"
+ sleep_secs="${QUEUE_SLEEP:-3}"
+ memory="${QUEUE_MEMORY:-512}"
+ max_jobs="${QUEUE_MAX_JOBS:-0}"
+ max_time="${QUEUE_MAX_TIME:-0}"
+
+ args=(artisan queue:work --verbose --tries="$tries" --timeout="$timeout" --sleep="$sleep_secs" --memory="$memory" --queue="$queue_name")
+
+ if [ -n "$queue_conn" ]; then
+ args=(artisan queue:work "$queue_conn" --verbose --tries="$tries" --timeout="$timeout" --sleep="$sleep_secs" --memory="$memory" --queue="$queue_name")
+ fi
+
+ if [ "$max_jobs" -gt 0 ]; then
+ args+=("--max-jobs=$max_jobs")
+ fi
+
+ if [ "$max_time" -gt 0 ]; then
+ args+=("--max-time=$max_time")
+ fi
+
+ exec php "${args[@]}"
+ ;;
+
+ scheduler)
+ echo "Running the scheduler..."
+ exec php artisan schedule:work --verbose --no-interaction
+ ;;
+
+ *)
echo "Could not match the container role \"$role\""
exit 1
-fi
\ No newline at end of file
+ ;;
+esac
diff --git a/docker/vhost.conf b/docker/vhost.conf
index 3fa5fb5db..f61f7084a 100644
--- a/docker/vhost.conf
+++ b/docker/vhost.conf
@@ -10,4 +10,4 @@
AllowOverride all
Require all granted
-
\ No newline at end of file
+
diff --git a/lang/de.json b/lang/de.json
deleted file mode 100644
index 1951b08a4..000000000
--- a/lang/de.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "de_DE": "Deutsch",
- "en_EN": "Englisch",
- "zh_CN": "Chinesisch",
-
- "created_at": "Erstelldatum",
- "translation": "Übersetzung",
- "title": "Titel",
- "url": "URL",
-
- "bureaucrat": "Bürokrat",
- "sysop": "Administrator",
- "mitarbeiter": "Mitarbeiter",
- "sichter": "Sichter",
- "user": "Benutzer"
-}
\ No newline at end of file
diff --git a/lang/de/admin/starmap/jumppointtunnels/index.php b/lang/de/admin/starmap/jumppointtunnels/index.php
deleted file mode 100644
index 6930a28f3..000000000
--- a/lang/de/admin/starmap/jumppointtunnels/index.php
+++ /dev/null
@@ -1,13 +0,0 @@
- 'Jumppoint Tunnels',
- 'jumppointtunnels' => 'Jumppoint Tunnels',
- 'last_download' => 'Letzter Download',
- 'excluded' => 'Ausgeschlossen',
- 'created' => 'Erstellt',
- 'id' => 'ID',
- 'size' => 'Größe',
- 'entry_code' => 'Eingang',
- 'exit_code' => 'Ausgang',
-];
diff --git a/lang/de/auth.php b/lang/de/auth.php
deleted file mode 100644
index d4415be3c..000000000
--- a/lang/de/auth.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'Diese Zugangsdaten wurden nicht in unserer Datenbank gefunden.',
- 'throttle' => 'Zu viele Loginversuche. Versuchen Sie es bitte in :seconds Sekunden nochmal.',
-
-];
diff --git a/lang/de/crud.php b/lang/de/crud.php
deleted file mode 100644
index 136cb97c5..000000000
--- a/lang/de/crud.php
+++ /dev/null
@@ -1,12 +0,0 @@
- ':Type erstellt',
- 'restored' => ':Type wiederhergestellt',
- 'updated' => ':Type aktualisiert',
- 'deleted' => ':Type gelöscht',
- 'not_found' => ':Type nicht gefunden',
- 'blocked' => ':Type blockiert',
-];
diff --git a/lang/de/pagination.php b/lang/de/pagination.php
deleted file mode 100644
index a08736d9d..000000000
--- a/lang/de/pagination.php
+++ /dev/null
@@ -1,19 +0,0 @@
- '« Zurück',
- 'next' => 'Weiter »',
-
-];
diff --git a/lang/de/passwords.php b/lang/de/passwords.php
deleted file mode 100644
index a91722aae..000000000
--- a/lang/de/passwords.php
+++ /dev/null
@@ -1,22 +0,0 @@
- 'Passwörter müssen mindestens 6 Zeichen lang sein und korrekt bestätigt werden.',
- 'reset' => 'Das Passwort wurde zurückgesetzt!',
- 'sent' => 'Passworterinnerung wurde gesendet!',
- 'token' => 'Der Passwort-Wiederherstellungs-Schlüssel ist ungültig oder abgelaufen.',
- 'user' => 'Es konnte leider kein Nutzer mit dieser E-Mail-Adresse gefunden werden.',
-
-];
diff --git a/lang/de/validation.php b/lang/de/validation.php
deleted file mode 100644
index acf2c7753..000000000
--- a/lang/de/validation.php
+++ /dev/null
@@ -1,126 +0,0 @@
- ':attribute muss akzeptiert werden.',
- 'active_url' => ':attribute ist keine gültige Internet-Adresse.',
- 'after' => ':attribute muss ein Datum nach dem :date sein.',
- 'after_or_equal' => ':attribute muss ein Datum nach dem :date oder gleich dem :date sein.',
- 'alpha' => ':attribute darf nur aus Buchstaben bestehen.',
- 'alpha_dash' => ':attribute darf nur aus Buchstaben, Zahlen, Binde- und Unterstrichen bestehen. Umlaute (ä, ö, ü) und Eszett (ß) sind nicht erlaubt.',
- 'alpha_num' => ':attribute darf nur aus Buchstaben und Zahlen bestehen.',
- 'array' => ':attribute muss ein Array sein.',
- 'before' => ':attribute muss ein Datum vor dem :date sein.',
- 'before_or_equal' => ':attribute muss ein Datum vor dem :date oder gleich dem :date sein.',
- 'between' => [
- 'numeric' => ':attribute muss zwischen :min & :max liegen.',
- 'file' => ':attribute muss zwischen :min & :max Kilobytes groß sein.',
- 'string' => ':attribute muss zwischen :min & :max Zeichen lang sein.',
- 'array' => ':attribute muss zwischen :min & :max Elemente haben.',
- ],
- 'boolean' => ":attribute muss entweder 'true' oder 'false' sein.",
- 'confirmed' => ':attribute stimmt nicht mit der Bestätigung überein.',
- 'date' => ':attribute muss ein gültiges Datum sein.',
- 'date_format' => ':attribute entspricht nicht dem gültigen Format für :format.',
- 'different' => ':attribute und :other müssen sich unterscheiden.',
- 'digits' => ':attribute muss :digits Stellen haben.',
- 'digits_between' => ':attribute muss zwischen :min und :max Stellen haben.',
- 'dimensions' => ':attribute hat ungültige Bildabmessungen.',
- 'distinct' => 'Das Feld :attribute beinhaltet einen bereits vorhandenen Wert.',
- 'email' => ':attribute muss eine gültige E-Mail-Adresse sein.',
- 'exists' => 'Der gewählte Wert für :attribute ist ungültig.',
- 'file' => ':attribute muss eine Datei sein.',
- 'filled' => ':attribute muss ausgefüllt sein.',
- 'image' => ':attribute muss ein Bild sein.',
- 'in' => 'Der gewählte Wert für :attribute ist ungültig.',
- 'in_array' => 'Der gewählte Wert für :attribute kommt nicht in :other vor.',
- 'integer' => ':attribute muss eine ganze Zahl sein.',
- 'ip' => ':attribute muss eine gültige IP-Adresse sein.',
- 'json' => ':attribute muss ein gültiger JSON-String sein.',
- 'max' => [
- 'numeric' => ':attribute darf maximal :max sein.',
- 'file' => ':attribute darf maximal :max Kilobytes groß sein.',
- 'string' => ':attribute darf maximal :max Zeichen haben.',
- 'array' => ':attribute darf nicht mehr als :max Elemente haben.',
- ],
- 'mimes' => ':attribute muss den Dateityp :values haben.',
- 'mimetypes' => ':attribute muss den Dateityp :values haben.',
- 'min' => [
- 'numeric' => ':attribute muss mindestens :min sein.',
- 'file' => ':attribute muss mindestens :min Kilobytes groß sein.',
- 'string' => ':attribute muss mindestens :min Zeichen lang sein.',
- 'array' => ':attribute muss mindestens :min Elemente haben.',
- ],
- 'not_in' => 'Der gewählte Wert für :attribute ist ungültig.',
- 'numeric' => ':attribute muss eine Zahl sein.',
- 'present' => 'Das Feld :attribute muss vorhanden sein.',
- 'regex' => ':attribute Format ist ungültig.',
- 'required' => ':attribute muss ausgefüllt sein.',
- 'required_if' => ':attribute muss ausgefüllt sein, wenn :other :value ist.',
- 'required_unless' => ':attribute muss ausgefüllt sein, wenn :other nicht :values ist.',
- 'required_with' => ':attribute muss angegeben werden, wenn :values ausgefüllt wurde.',
- 'required_with_all' => ':attribute muss angegeben werden, wenn :values ausgefüllt wurde.',
- 'required_without' => ':attribute muss angegeben werden, wenn :values nicht ausgefüllt wurde.',
- 'required_without_all' => ':attribute muss angegeben werden, wenn keines der Felder :values ausgefüllt wurde.',
- 'same' => ':attribute und :other müssen übereinstimmen.',
- 'size' => [
- 'numeric' => ':attribute muss gleich :size sein.',
- 'file' => ':attribute muss :size Kilobyte groß sein.',
- 'string' => ':attribute muss :size Zeichen lang sein.',
- 'array' => ':attribute muss genau :size Elemente haben.',
- ],
- 'string' => ':attribute muss eine Zeichenkette sein.',
- 'timezone' => ':attribute muss eine gültige Zeitzone sein.',
- 'unique' => ':attribute ist schon vergeben.',
- 'uploaded' => 'Der :attribute konnte nicht hochgeladen werden.',
- 'url' => 'Das Format von :attribute ist ungültig.',
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => [
- 'attribute-name' => [
- 'rule-name' => 'custom-message',
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => [
- 'username' => 'Benutzername',
- 'password' => 'Passwort',
- 'email' => 'E-Mail-Adresse',
-
- 'de_DE' => 'Deutsch',
- 'en_EN' => 'Englisch',
- ],
-
-];
diff --git a/lang/en.json b/lang/en.json
deleted file mode 100644
index de06a600a..000000000
--- a/lang/en.json
+++ /dev/null
@@ -1,373 +0,0 @@
-{
- "de_DE": "German",
- "en_EN": "English",
- "zh_CN": "Chinese",
-
-
- "API": "API",
- "API Daten": "API data",
- "API Token": "API token",
- "API Status": "API Status",
-
-
- "Das Projekt": "The project",
- "Die Star Citizen Wiki API dient als Schnittstelle zwischen dem": "The Star Citizen Wiki API serves as an interface between the",
- "Wiki": "Wiki",
- "und diversen anderen Datenquellen.": "and various other data sources.",
-
- "Du hast Interesse an Programmierung?": "You have interest in programming?",
- "Wir suchen immer engagierte Leute für unser Projekt.": "We are always looking for dedicated people for our project.",
-
- "uns, oder besuch uns auf unserem": "us, or visit us at our",
-
-
- "Abgelaufen": "Expired",
- "Abmelden": "Logout",
- "Anderes Bild": "Other image",
- "Account": "Account",
- "Achtung, durch das Klicken auf Speichern wird die ausgewählte Version des Comm-Links importiert!": "Attention, clicking Save will import the selected version of the Comm Link!",
- "Afterburner Geschwindigkeit": "Afterburner speed",
- "Aktive Sitzungen": "Active sessions",
- "aktualisiert": "updated",
- "aktualisiert durch": "updated by",
- "Aktualisierungen": "Updates",
- "Aktuell": "Current",
- "Alle": "All",
- "Alle Daten": "All data",
- "Anbieter": "Provider",
- "Anbieter ID": "Provider ID",
- "Anmelden": "Login",
- "Anmelden über Star Citizen Wiki OAuth": "Login via Star Citizen Wiki OAuth",
- "Ansehen": "View",
- "API Benachrichtigungen erhalten": "Receive API notifications",
- "Auf Wiki Blockieren": "Block on Wiki",
- "Auf Wiki Freigeben": "Unlock on Wiki",
- "Artikel": "Article",
- "Artikel Metadaten": "Article metadata",
- "Ausnahme": "Exception",
- "Automatisch": "Automatic",
-
- "Bearbeiten": "Edit",
- "bearbeiten": "edit",
- "(bearbeiten)": "(edit)",
- "Bekannt für ": "Known for ",
- "Benachrichtigungen": "Notifications",
- "Benachrichtigungen funktionieren nur, wenn du eine E-Mail-Adresse im Wiki hinterlegt hast": "Notifications only work if you have an email address stored in the wiki",
- "Benutzer": "User",
- "Benutzerdaten": "User data",
- "Benutzername": "Username",
- "Benutzer bearbeiten": "Edit user",
- "Beschreibung": "Description",
- "Beschreibung ": "Description ",
- "Bevölkerung": "Population",
- "Bezeichnung": "Designation",
- "Bildbeschreibung. Kann Wikitext enthalten.": "Image description. May contain wikitext.",
- "Bild hochladen": "Upload image",
- "Bild hochgeladen!": "Image uploaded!",
- "Bilder": "Images",
- "Bildquelle": "Image source",
- "Bilder Tags": "Image tags",
- "Blockieren": "Block",
- "Bodenfahrzeuge": "Ground vehicles",
- "Breite": "Width",
-
- "Channel": "Channel",
- "Channels": "Channels",
- "CIG ID": "CIG ID",
- "Code": "Code",
- "Comm-Link": "Comm-Link",
- "Comm-Link bearbeiten": "Edit Comm-Link",
- "Comm-Link Benachrichtigungen erhalten": "Comm-Link notifications received",
- "Comm-Link Bild": "Comm-Link image",
- "Comm-Link Bild URL": "Comm-Link media URL",
- "Comm-Link Bilder": "Comm-Link images",
- "Comm-Link Bildlinksuche": "Comm-Link Image Link Search",
- "Comm-Link Bildsuche": "Comm-Link Image Search",
- "Comm-Link Channel": "Comm-Link Channel",
- "Comm-Link Kategorien": "Comm-Link categories",
- "Comm-Link Metadaten": "Comm-Link Metadata",
- "Comm-Link Rückwärtssuche": "Comm-Link Reverse Search",
- "Comm-Link Serien": "Comm-Link Series",
- "Comm-Link Titelsuche": "Search Comm-Links by Title",
- "Comm-Links": "Comm-Links",
- "Comm-Links mit geändertem Inhalt": "Comm-Links with modified content",
- "Comm-Links mit neuem Inhalt": "Comm-Links with new content",
-
- "Dashboard": "Dashboard",
- "Dateiinfo": "File info",
- "Dateiname": "File name",
- "Datei existiert bereits unter": "File already exists as",
- "Datei Metadaten": "File Metadata",
- "Datum": "Date",
- "Das hätte nicht passieren dürfen": "This should not have happened",
- "Deaktiviere das Rate-Limiting bei API Anfragen für diesen Benutzer": "Disable rate limiting for API requests for this user",
- "Deaktiviertes Rate-Limiting": "Rate limiting disabled",
- "Details": "Details",
- "DeepL Übersetzung": "DeepL Translation",
- "Die Struktur der Schiff Matrix wurde geändert. Import kann nicht fortgesetzt werden.": "The structure of the ship matrix has been changed. Import cannot be continued.",
- "Differenz": "Difference",
- "Discord": "Discord",
- "Discord Server": "Discord server",
- "Dies sind Comm-Links, dessen Inhalt geändert wurden.": "These are Comm-Links whose content has been changed.",
- "Dies sind Comm-Links, welche bisher keinen Inhalt hatten.": "These are Comm-Links, which had no content before.",
- "Du driftest in das endlose Nichts des Weltraums...": "You drift into the endless nothingness of space....",
- "Dunkel modus": "Darkmode",
- "Duplikate": "Duplicates",
- "durch": "through",
- "Durch den Klick auf Blockieren wird der Nutzer ausgeloggt und blockiert.
Dies blockiert den Nutzer allerdings nicht auf dem Wiki": "By clicking Block, the user is logged out and blocked.
However, this does not block the user from the wiki",
- "Durch den Klick auf Freischalten wird der Nutzer auf der API erneut freigeschaltet.
Dies schaltet den Nutzer allerdings nicht auf dem Wiki frei": "Clicking Unlock unlocks the user for the API again.
However, this does not unlock the user for the wiki.",
- "Durchschnitt": "Average",
-
- "Eigenschaften": "Features",
- "Einstellungen": "Settings",
- "Erhalte Benachrichtigungen über neue Comm-Links": "Receive notifications about new Comm-Links",
- "Erhalte Benachrichtigungen über Statusänderungen der API": "Receive notifications about status changes of the API",
- "Erstellt": "Created",
- "erstellt durch": "created by",
- "Exakt": "Exact",
- "E-Mail": "E-mail",
-
- "Facebook": "Facebook",
- "Fahrgestell ID": "Chassis ID",
- "Fahrzeuggrößen": "Vehicle sizes",
- "Fahrzeug": "Vehicle",
- "Fahrzeugdaten": "Vehicle data",
- "Fahrzeuge": "Vehicles",
- "Fahrzeugfokus bearbeiten": "Edit vehicle focus",
- "Fahrzeugfokusse": "Vehicle foci",
- "Fahrzeuggröße bearbeiten": "Edit vehicle size",
- "Fahrzeugtyp bearbeiten": "Edit vehicle type",
- "Fahrzeugtypen": "Vehicle types",
- "FAQ": "FAQ",
- "FCA": "FCA",
- "Fehlgeschlagene Jobs": "Failed jobs",
- "Filter alle Daten": "Filter all data",
- "Filter Zeit": "Filter time",
- "Fokus": "Focus",
- "Frachtkapazität": "Freight capacity",
- "Freischalten": "Unlock",
-
- "Galactapedia": "Galactapedia",
- "Galactapedia Artikel": "Galactapedia article",
- "Galerie": "Gallery",
- "Gefahr": "Danger",
- "Genauigkeit": "Accuracy",
- "Gierung": "Government",
- "Gruppe": "Group",
- "Gruppen": "Groups",
- "Größe": "Size",
- "Geänderte Comm-Links": "Changed Comm-Links",
-
- "Habitabel": "Habitable",
- "Basierend auf dem vorherigen Pixel": "Based on the previous pixel",
- "Basierend auf der durchschnittlichen Bildfarbe": "Based on average image color",
- "Basierend auf Merkmalen des Inhalts": "Based on characteristics of the content",
- "Heller modus": "Lightmode",
- "Hersteller": "Manufacturer",
- "Herstellerdaten": "Manufacturer data",
- "Herstellerübersicht": "Manufacturer overview",
- "Himmelskörper": "Celestial body",
- "Hochladen": "Upload",
- "Hochladen ins Wiki": "Upload to Wiki",
- "Höhe": "Height",
-
- "ID": "ID",
- "Inhalt": "Content",
- "Intern": "Internal",
- "Im Wiki": "In Wiki",
- "importiert von": "imported from",
- "Importierte Version": "Imported version",
- "Items": "Items",
-
- "Ja": "Yes",
- "Jeder 100te Datensatz": "Every 100th record",
- "Jeder 50te Datensatz": "Every 50th record",
- "Jeder 25te Datensatz": "Every 25th record",
- "Jeder 10te Datensatz": "Every 10th record",
- "Jeder 5te Datensatz": "Every 5th record",
-
- "Kategorie": "Category",
- "Kategorien": "Categories",
- "Kein alt Text verfügbar": "No alt text available",
- "Keine": "None",
- "Keine aktiven Sitzungen verfügbar": "No active sessions available",
- "Keine Artikel vorhanden": "No articles available",
- "Keine Bilder vorhanden": "No images available",
- "Keine Comm-Links geändert": "No Comm-Links Changed",
- "Keine Comm-Links vorhanden": "No Comm-Links available",
- "Keine E-Mail vorhanden": "No E-Mail available",
- "Keine Fahrzeuge vorhanden": "No vehicles available",
- "Keine fehlgeschlagenen Jobs vorhanden": "No failed jobs",
- "Keine Hersteller vorhanden": "No manufacturer available",
- "Keine Links vorhanden": "No links available",
- "Keine Original URL vorhanden": "No original URL available",
- "Keine Objekte vorhanden": "No objects available",
- "Keine Raumschiffe vorhanden": "No spaceships available",
- "Keine Sternensysteme vorhanden": "No star systems available",
- "Keine Textänderungen vorhanden": "No text changes available",
- "Keine Änderungen vorhanden": "No changes available",
- "Keine Übersetzungen vorhanden": "No translations available",
- "Keiner": "None",
- "Konnte Datei nicht hochladen.": "Could not upload file.",
- "Kommentare": "Comments",
- "Komponenten anzeigen": "Show components",
- "Kopiert Datum bei Klick": "Copies date on click",
-
- "Lade hoch...": "Upload...",
- "Lat": "Lat",
- "Lesen": "Read",
- "Letzte Woche": "Last week",
- "Letzter Monat": "Last month",
- "Letzte 3 Monate": "Last 3 months",
- "Letzte 6 Monate": "Last 6 months",
- "Letztes Jahr": "Last year",
- "Letzte 2 Jahre": "Last 2 years",
- "Letztes Update": "Last update",
- "Links": "Links",
- "Liste von Kategorien, getrennt durch ein Komma.
Die Kategorie des Comm-Links wird automatisch hinzugefügt.": "List of categories, separated by a comma.
The category of the comm link is added automatically.",
- "Lon": "Lon",
- "Länge": "Length",
-
- "Masse": "Mass",
- "Mastodon": "Mastodon",
- "Max. Besatzung": "Max. Crew",
- "Medien": "Media",
- "Zeige mehr Infos": "Show additional info",
- "Menge": "Quantity",
- "Metadaten": "Metadata",
- "Methode": "Method",
- "Mime Type": "Mime Type",
- "Min. Besatzung": "Min. crew",
- "Modell": "Model",
- "Monde": "Moons",
- "Montiert": "Mounts",
-
- "Nächstes Bild": "Next image",
- "Name": "Name",
- "Nein": "No",
- "Neu importierte Comm-Links": "Newly imported Comm-Links",
- "Neue Tags können durch Tippen in der Auswahl hinzugefügt werden.": "New tags can be added by typing into the input field.",
- "Nicht gefunden": "Not found",
- "Nicht vorhanden": "Not available",
- "Nutzlast": "Payload",
- "Nächster": "Next",
-
- "Objekte": "Objects",
-
- "Planeten": "Planets",
- "Platzhalter": "Placeholder",
- "Rotation": "Rotation",
- "Preis": "Price",
- "Produktionsnotiz": "Production note",
- "Produktionsnotizen": "Production notes",
- "Produktionsnotiz bearbeiten": "Edit production note",
- "Produktionsstatus": "Production status",
- "Produktionsstatus bearbeiten": "Edit production status",
-
- "Quellcode": "Source code",
- "Quelle": "Source",
-
- "Raumschiff": "Spaceship",
- "Raumschiffe": "Spaceships",
- "Raumstationen": "Space Stations",
- "Relevanz": "Relevance",
- "RSI API": "RSI API",
-
- "Schiff": "Ship",
- "Schiff Matrix Struktur geändert": "Ship matrix structure changed",
- "Schiffsdaten": "Ship data",
- "Schlechte Anfrage": "Bad request",
- "Schreib": "Write",
- "SCM Geschwindigkeit": "SCM speed",
- "Serie": "Series",
- "Sehr ungenau": "Very inaccurate",
- "Sehr ähnlich": "Very similar",
- "Serien": "Series",
- "Schließen": "Close",
- "Server Error": "Server Error",
- "Speichern": "Save",
- "Spenden": "Donations",
- "Spendenstatistiken": "Donation statistics",
- "Sprache": "Language",
- "Startseite": "Homepage",
- "Statistiken": "Statistics",
- "Star Citizen Wiki": "Star Citizen Wiki",
- "Star Citizen Wiki API": "Star Citizen Wiki API",
- "Stammdaten": "Master data",
- "Starmap": "Starmap",
- "Sterne": "Stars",
- "Sternensystem": "Star system",
- "Sternensystemdaten": "Star system data",
- "Sternensysteme": "Star systems",
- "Steigung": "Gradient",
- "Stichwort": "Keyword",
- "Suche": "Search",
- "Suche nach Bildern": "Search for images",
- "Suche nach Comm-Link Inhalt": "Search for Comm-Links by content",
- "Suche nach Comm-Links mit Bild": "Search for Comm-Links with image",
- "Suche nach Comm-Links mit Bildlink": "Search for Comm-Links with image link",
- "Suche nach Comm-Links mit Medienurl": "Search for Comm-Links containing a media url",
- "Suche nach Comm-Link mit Text": "Search for Comm-Links containing some text",
- "Suche nach Comm-Link mit Bild": "Reverse search a Comm-Link by an image",
- "Suche nach Comm-Link Medien": "Search for Comm-Link media by name",
- "Systeme": "Systems",
-
- "Tabelle leeren": "Empty table",
- "Tags": "Tags",
- "Textänderungen": "Text changes",
- "Text, welcher in einem Comm-Link vorkommt": "Text which occurs in the body of a Comm-Link",
- "Titel": "Title",
- "Transkript": "Transcript",
- "Transkripte": "Transcripts",
- "Typ": "Type",
-
- "Unbefugter Zugriff": "Unauthorized access",
- "Ungenau": "Inaccurate",
- "Universum": "Universe",
- "Update": "Update",
- "URL": "URL",
- "URL der Form": "URL of the form",
-
- "Verbindung": "Connection",
- "Verboten": "Forbidden",
- "Version": "Version",
- "Version ändern": "Change version",
- "Verwandt": "Related",
- "Verwandte Artikel": "Related articles",
- "Verwendet in": "Used in",
- "Veröffentlichung": "Publication",
- "Vorhandene Versionen": "Existing versions",
- "Vorheriger": "Previous",
- "Vorheriges Bild": "Previous image",
- "Vorschau": "Preview",
- "Vorschau Version vom": "Preview version from",
-
- "Wahrnehmung": "Perception",
- "Wartungsarbeiten": "Maintenance",
- "Weniger Infos": "Less info",
- "Wiki API": "Wiki API",
- "Wiki Orga": "Wiki Orga",
- "Wikitext": "Wikitext",
- "Wirtschaft": "Economy",
-
- "X-Achsen-Beschleunigung": "X-axis acceleration",
-
- "YouTube": "YouTube",
- "Y-Achsen-Beschleunigung": "Y-axis acceleration",
-
- "Z-Achsen-Beschleunigung": "Z-axis acceleration",
- "zu": "to",
- "Zuletzt geändert": "Last modified",
- "Zurück": "Back",
- "Zufälliges Bild": "Random image",
-
- "Ähnliche Dateien (alpha)": "Similar files (alpha)",
- "Ähnlich": "Similar",
- "Ähnlichkeit": "Similarity",
- "Änderungen": "Changes",
- "Änderungsübersicht": "Change overview",
-
- "Übersetzt": "Translated",
- "Übersetzung": "Translation",
- "Übersetzungen": "Translations"
-}
\ No newline at end of file
diff --git a/lang/en/admin/starmap/celestialobjects/index.php b/lang/en/admin/starmap/celestialobjects/index.php
deleted file mode 100644
index 9ff6b3b7f..000000000
--- a/lang/en/admin/starmap/celestialobjects/index.php
+++ /dev/null
@@ -1,20 +0,0 @@
- 'Starmap Celestial Objects',
- 'celestialobjects' => 'Celestial Objects',
- 'last_download' => 'Last Download',
- 'excluded' => 'excluded',
- 'id' => 'ID',
- 'code' => 'code',
- 'state' => 'state',
- 'downloading' => 'downloading',
- 'downloaded' => 'downloaded',
- 'not_found' => 'not found',
- 'name' => 'name',
- 'type' => 'type',
- 'designation' => 'designation',
- 'description' => 'description',
- 'affiliation' => 'affiliation',
- 'cig_time_modified' => 'CIG time modified',
-];
diff --git a/lang/en/admin/starmap/jumppointtunnels/index.php b/lang/en/admin/starmap/jumppointtunnels/index.php
deleted file mode 100644
index 4d43bf8a3..000000000
--- a/lang/en/admin/starmap/jumppointtunnels/index.php
+++ /dev/null
@@ -1,13 +0,0 @@
- 'Jumppoint Tunnels',
- 'jumppointtunnels' => 'Jumppoint Tunnels',
- 'last_download' => 'last download',
- 'excluded' => 'excluded',
- 'created' => 'created',
- 'id' => 'ID',
- 'size' => 'size',
- 'entry_code' => 'entry',
- 'exit_code' => 'exit',
-];
diff --git a/lang/en/auth.php b/lang/en/auth.php
deleted file mode 100644
index e5506df29..000000000
--- a/lang/en/auth.php
+++ /dev/null
@@ -1,19 +0,0 @@
- 'These credentials do not match our records.',
- 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.',
-
-];
diff --git a/lang/en/crud.php b/lang/en/crud.php
deleted file mode 100644
index f5abb26dd..000000000
--- a/lang/en/crud.php
+++ /dev/null
@@ -1,12 +0,0 @@
- ':Type created',
- 'restored' => ':Type restored',
- 'updated' => ':Type updated',
- 'deleted' => ':Type deleted',
- 'not_found' => ':Type not found',
- 'blocked' => ':Type blocked',
-];
diff --git a/lang/en/pagination.php b/lang/en/pagination.php
deleted file mode 100644
index d48141187..000000000
--- a/lang/en/pagination.php
+++ /dev/null
@@ -1,19 +0,0 @@
- '« Previous',
- 'next' => 'Next »',
-
-];
diff --git a/lang/en/passwords.php b/lang/en/passwords.php
deleted file mode 100644
index e5544d201..000000000
--- a/lang/en/passwords.php
+++ /dev/null
@@ -1,22 +0,0 @@
- 'Passwords must be at least six characters and match the confirmation.',
- 'reset' => 'Your password has been reset!',
- 'sent' => 'We have e-mailed your password reset link!',
- 'token' => 'This password reset token is invalid.',
- 'user' => "We can't find a user with that e-mail address.",
-
-];
diff --git a/lang/en/validation.php b/lang/en/validation.php
deleted file mode 100644
index e1ca6a46b..000000000
--- a/lang/en/validation.php
+++ /dev/null
@@ -1,119 +0,0 @@
- 'The :attribute must be accepted.',
- 'active_url' => 'The :attribute is not a valid URL.',
- 'after' => 'The :attribute must be a date after :date.',
- 'after_or_equal' => 'The :attribute must be a date after or equal to :date.',
- 'alpha' => 'The :attribute may only contain letters.',
- 'alpha_dash' => 'The :attribute may only contain letters, numbers, and dashes.',
- 'alpha_num' => 'The :attribute may only contain letters and numbers.',
- 'array' => 'The :attribute must be an array.',
- 'before' => 'The :attribute must be a date before :date.',
- 'before_or_equal' => 'The :attribute must be a date before or equal to :date.',
- 'between' => [
- 'numeric' => 'The :attribute must be between :min and :max.',
- 'file' => 'The :attribute must be between :min and :max kilobytes.',
- 'string' => 'The :attribute must be between :min and :max characters.',
- 'array' => 'The :attribute must have between :min and :max items.',
- ],
- 'boolean' => 'The :attribute field must be true or false.',
- 'confirmed' => 'The :attribute confirmation does not match.',
- 'date' => 'The :attribute is not a valid date.',
- 'date_format' => 'The :attribute does not match the format :format.',
- 'different' => 'The :attribute and :other must be different.',
- 'digits' => 'The :attribute must be :digits digits.',
- 'digits_between' => 'The :attribute must be between :min and :max digits.',
- 'dimensions' => 'The :attribute has invalid image dimensions.',
- 'distinct' => 'The :attribute field has a duplicate value.',
- 'email' => 'The :attribute must be a valid email address.',
- 'exists' => 'The selected :attribute is invalid.',
- 'file' => 'The :attribute must be a file.',
- 'filled' => 'The :attribute field is required.',
- 'image' => 'The :attribute must be an image.',
- 'in' => 'The selected :attribute is invalid.',
- 'in_array' => 'The :attribute field does not exist in :other.',
- 'integer' => 'The :attribute must be an integer.',
- 'ip' => 'The :attribute must be a valid IP address.',
- 'json' => 'The :attribute must be a valid JSON string.',
- 'max' => [
- 'numeric' => 'The :attribute may not be greater than :max.',
- 'file' => 'The :attribute may not be greater than :max kilobytes.',
- 'string' => 'The :attribute may not be greater than :max characters.',
- 'array' => 'The :attribute may not have more than :max items.',
- ],
- 'mimes' => 'The :attribute must be a file of type: :values.',
- 'mimetypes' => 'The :attribute must be a file of type: :values.',
- 'min' => [
- 'numeric' => 'The :attribute must be at least :min.',
- 'file' => 'The :attribute must be at least :min kilobytes.',
- 'string' => 'The :attribute must be at least :min characters.',
- 'array' => 'The :attribute must have at least :min items.',
- ],
- 'not_in' => 'The selected :attribute is invalid.',
- 'numeric' => 'The :attribute must be a number.',
- 'present' => 'The :attribute field must be present.',
- 'regex' => 'The :attribute format is invalid.',
- 'required' => 'The :attribute field is required.',
- 'required_if' => 'The :attribute field is required when :other is :value.',
- 'required_unless' => 'The :attribute field is required unless :other is in :values.',
- 'required_with' => 'The :attribute field is required when :values is present.',
- 'required_with_all' => 'The :attribute field is required when :values is present.',
- 'required_without' => 'The :attribute field is required when :values is not present.',
- 'required_without_all' => 'The :attribute field is required when none of :values are present.',
- 'same' => 'The :attribute and :other must match.',
- 'size' => [
- 'numeric' => 'The :attribute must be :size.',
- 'file' => 'The :attribute must be :size kilobytes.',
- 'string' => 'The :attribute must be :size characters.',
- 'array' => 'The :attribute must contain :size items.',
- ],
- 'string' => 'The :attribute must be a string.',
- 'timezone' => 'The :attribute must be a valid zone.',
- 'unique' => 'The :attribute has already been taken.',
- 'uploaded' => 'The :attribute failed to upload.',
- 'url' => 'The :attribute format is invalid.',
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Language Lines
- |--------------------------------------------------------------------------
- |
- | Here you may specify custom validation messages for attributes using the
- | convention "attribute.rule" to name the lines. This makes it quick to
- | specify a specific custom language line for a given attribute rule.
- |
- */
-
- 'custom' => [
- 'attribute-name' => [
- 'rule-name' => 'custom-message',
- ],
- ],
-
- /*
- |--------------------------------------------------------------------------
- | Custom Validation Attributes
- |--------------------------------------------------------------------------
- |
- | The following language lines are used to swap attribute place-holders
- | with something more reader friendly such as E-Mail Address instead
- | of "email". This simply helps us make messages a little cleaner.
- |
- */
-
- 'attributes' => [],
-
-];
diff --git a/package-lock.json b/package-lock.json
index fb2793e19..09f9af06e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4,10424 +4,2355 @@
"requires": true,
"packages": {
"": {
- "dependencies": {
- "axios": "^1.7.4"
- },
"devDependencies": {
- "@fortawesome/fontawesome-svg-core": "^6.4.0",
- "@fortawesome/free-brands-svg-icons": "^6.4.0",
- "@fortawesome/free-solid-svg-icons": "^6.4.0",
- "bootstrap": "^4.6.2",
- "cross-env": "^7.0.3",
- "datatables.net-bs4": "^1.13.8",
- "jquery": "^3.7.0",
- "jquery-slim": "^3.0.0",
- "laravel-mix": "^6.0.49",
- "laravel-mix-purgecss": "^6.0.0",
- "lodash": "^4.17.21",
- "popper.js": "^1.16.1",
- "postcss": "^8.4.32",
- "resolve-url-loader": "^5.0.0",
- "sass": "^1.43.2",
- "sass-loader": "^12.2.0",
- "select2": "^4.1.0-rc.0",
- "vue": "^2.6.14",
- "vue-loader": "^15.11.1",
- "vue-template-compiler": "^2.6.14"
- }
- },
- "node_modules/@ampproject/remapping": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
- "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@babel/code-frame": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz",
- "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==",
+ "@tailwindcss/vite": "^4.0.0",
+ "axios": "^1.11.0",
+ "concurrently": "^9.0.1",
+ "daisyui": "^5.5.14",
+ "laravel-vite-plugin": "^2.0.0",
+ "lucide": "^0.562.0",
+ "luxon": "^3.7.2",
+ "tabulator-tables": "^6.3.1",
+ "tailwindcss": "^4.0.0",
+ "vite": "^7.0.7"
+ }
+ },
+ "node_modules/@esbuild/aix-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz",
+ "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/highlight": "^7.24.7",
- "picocolors": "^1.0.0"
- },
+ "optional": true,
+ "os": [
+ "aix"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/compat-data": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz",
- "integrity": "sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==",
+ "node_modules/@esbuild/android-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz",
+ "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/core": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz",
- "integrity": "sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==",
+ "node_modules/@esbuild/android-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz",
+ "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.0",
- "@babel/helper-compilation-targets": "^7.25.2",
- "@babel/helper-module-transforms": "^7.25.2",
- "@babel/helpers": "^7.25.0",
- "@babel/parser": "^7.25.0",
- "@babel/template": "^7.25.0",
- "@babel/traverse": "^7.25.2",
- "@babel/types": "^7.25.2",
- "convert-source-map": "^2.0.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.3",
- "semver": "^6.3.1"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/babel"
- }
- },
- "node_modules/@babel/core/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node": ">=18"
}
},
- "node_modules/@babel/generator": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz",
- "integrity": "sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==",
+ "node_modules/@esbuild/android-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz",
+ "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/types": "^7.25.6",
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25",
- "jsesc": "^2.5.1"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz",
- "integrity": "sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==",
+ "node_modules/@esbuild/darwin-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz",
+ "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz",
- "integrity": "sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==",
+ "node_modules/@esbuild/darwin-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz",
+ "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-compilation-targets": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz",
- "integrity": "sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==",
+ "node_modules/@esbuild/freebsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.25.2",
- "@babel/helper-validator-option": "^7.24.8",
- "browserslist": "^4.23.1",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.1"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz",
- "integrity": "sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==",
+ "node_modules/@esbuild/freebsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz",
+ "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-member-expression-to-functions": "^7.24.8",
- "@babel/helper-optimise-call-expression": "^7.24.7",
- "@babel/helper-replace-supers": "^7.25.0",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/traverse": "^7.25.4",
- "semver": "^6.3.1"
- },
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz",
- "integrity": "sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g==",
+ "node_modules/@esbuild/linux-arm": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz",
+ "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "regexpu-core": "^5.3.1",
- "semver": "^6.3.1"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
- "integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
+ "node_modules/@esbuild/linux-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz",
+ "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.22.6",
- "@babel/helper-plugin-utils": "^7.22.5",
- "debug": "^4.1.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz",
- "integrity": "sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==",
+ "node_modules/@esbuild/linux-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz",
+ "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.24.8",
- "@babel/types": "^7.24.8"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-module-imports": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz",
- "integrity": "sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==",
+ "node_modules/@esbuild/linux-loong64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz",
+ "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==",
+ "cpu": [
+ "loong64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-module-transforms": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz",
- "integrity": "sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==",
+ "node_modules/@esbuild/linux-mips64el": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz",
+ "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==",
+ "cpu": [
+ "mips64el"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-simple-access": "^7.24.7",
- "@babel/helper-validator-identifier": "^7.24.7",
- "@babel/traverse": "^7.25.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz",
- "integrity": "sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==",
+ "node_modules/@esbuild/linux-ppc64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz",
+ "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/types": "^7.24.7"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-plugin-utils": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz",
- "integrity": "sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==",
+ "node_modules/@esbuild/linux-riscv64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz",
+ "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz",
- "integrity": "sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw==",
+ "node_modules/@esbuild/linux-s390x": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz",
+ "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-wrap-function": "^7.25.0",
- "@babel/traverse": "^7.25.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-replace-supers": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz",
- "integrity": "sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==",
+ "node_modules/@esbuild/linux-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz",
+ "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-member-expression-to-functions": "^7.24.8",
- "@babel/helper-optimise-call-expression": "^7.24.7",
- "@babel/traverse": "^7.25.0"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-simple-access": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz",
- "integrity": "sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==",
+ "node_modules/@esbuild/netbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz",
- "integrity": "sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==",
+ "node_modules/@esbuild/netbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/traverse": "^7.24.7",
- "@babel/types": "^7.24.7"
- },
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-string-parser": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz",
- "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==",
+ "node_modules/@esbuild/openbsd-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz",
+ "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-validator-identifier": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz",
- "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==",
+ "node_modules/@esbuild/openbsd-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz",
+ "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-validator-option": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz",
- "integrity": "sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==",
+ "node_modules/@esbuild/openharmony-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz",
+ "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helper-wrap-function": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz",
- "integrity": "sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ==",
+ "node_modules/@esbuild/sunos-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz",
+ "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/template": "^7.25.0",
- "@babel/traverse": "^7.25.0",
- "@babel/types": "^7.25.0"
- },
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/helpers": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.6.tgz",
- "integrity": "sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==",
+ "node_modules/@esbuild/win32-arm64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz",
+ "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.6"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/highlight": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz",
- "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==",
+ "node_modules/@esbuild/win32-ia32": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz",
+ "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-validator-identifier": "^7.24.7",
- "chalk": "^2.4.2",
- "js-tokens": "^4.0.0",
- "picocolors": "^1.0.0"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=6.9.0"
+ "node": ">=18"
}
},
- "node_modules/@babel/highlight/node_modules/ansi-styles": {
- "version": "3.2.1",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
- "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "node_modules/@esbuild/win32-x64": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz",
+ "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "color-convert": "^1.9.0"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=4"
+ "node": ">=18"
}
},
- "node_modules/@babel/highlight/node_modules/chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.13",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz",
+ "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- },
- "engines": {
- "node": ">=4"
+ "@jridgewell/sourcemap-codec": "^1.5.0",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@babel/highlight/node_modules/color-convert": {
- "version": "1.9.3",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
- "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "node_modules/@jridgewell/remapping": {
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz",
+ "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "color-name": "1.1.3"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
- "node_modules/@babel/highlight/node_modules/color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/highlight/node_modules/has-flag": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
- "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">=6.0.0"
}
},
- "node_modules/@babel/highlight/node_modules/supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.5.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^3.0.0"
- },
- "engines": {
- "node": ">=4"
- }
+ "license": "MIT"
},
- "node_modules/@babel/parser": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz",
- "integrity": "sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==",
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.31",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz",
+ "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@babel/types": "^7.25.6"
- },
- "bin": {
- "parser": "bin/babel-parser.js"
- },
- "engines": {
- "node": ">=6.0.0"
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
}
},
- "node_modules/@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
- "version": "7.25.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz",
- "integrity": "sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA==",
+ "node_modules/@rollup/rollup-android-arm-eabi": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.53.3.tgz",
+ "integrity": "sha512-mRSi+4cBjrRLoaal2PnqH82Wqyb+d3HsPUN/W+WslCXsZsyHa9ZeQQX/pQsZaVIWDkPcpV6jJ+3KLbTbgnwv8w==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/traverse": "^7.25.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-safari-class-field-initializer-scope": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz",
- "integrity": "sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA==",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-android-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.53.3.tgz",
+ "integrity": "sha512-CbDGaMpdE9sh7sCmTrTUyllhrg65t6SwhjlMJsLr+J8YjFuPmCEjbBSx4Z/e4SmDyH3aB5hGaJUP2ltV/vcs4w==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz",
- "integrity": "sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA==",
+ "optional": true,
+ "os": [
+ "android"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.53.3.tgz",
+ "integrity": "sha512-Nr7SlQeqIBpOV6BHHGZgYBuSdanCXuw09hon14MGOLGmXAFYjx1wNvquVPmpZnl0tLjg25dEdr4IQ6GgyToCUA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz",
- "integrity": "sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-transform-optional-chaining": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.13.0"
- }
- },
- "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz",
- "integrity": "sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/traverse": "^7.25.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-proposal-object-rest-spread": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz",
- "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==",
- "deprecated": "This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead.",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.20.5",
- "@babel/helper-compilation-targets": "^7.20.7",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.20.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-private-property-in-object": {
- "version": "7.21.0-placeholder-for-preset-env.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz",
- "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-async-generators": {
- "version": "7.8.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
- "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-properties": {
- "version": "7.12.13",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
- "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.12.13"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-class-static-block": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz",
- "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-dynamic-import": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz",
- "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-export-namespace-from": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz",
- "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.3"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.6.tgz",
- "integrity": "sha512-aABl0jHw9bZ2karQ/uUD6XP4u0SG22SJrOHFoL6XB1R7dTovOP4TzTlsxOYC5yQ1pdscVK2JTUnF6QL3ARoAiQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-attributes": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.6.tgz",
- "integrity": "sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-import-meta": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
- "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-json-strings": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
- "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
- "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
- "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-numeric-separator": {
- "version": "7.10.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
- "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.10.4"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-object-rest-spread": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
- "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-catch-binding": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
- "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-optional-chaining": {
- "version": "7.8.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
- "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.8.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-private-property-in-object": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz",
- "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-top-level-await": {
- "version": "7.14.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
- "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-syntax-unicode-sets-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz",
- "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz",
- "integrity": "sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-async-generator-functions": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz",
- "integrity": "sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-remap-async-to-generator": "^7.25.0",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/traverse": "^7.25.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz",
- "integrity": "sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-remap-async-to-generator": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz",
- "integrity": "sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz",
- "integrity": "sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-class-properties": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz",
- "integrity": "sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.25.4",
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-class-static-block": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz",
- "integrity": "sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0"
- }
- },
- "node_modules/@babel/plugin-transform-classes": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz",
- "integrity": "sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-compilation-targets": "^7.25.2",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-replace-supers": "^7.25.0",
- "@babel/traverse": "^7.25.4",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz",
- "integrity": "sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/template": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz",
- "integrity": "sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz",
- "integrity": "sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz",
- "integrity": "sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-duplicate-named-capturing-groups-regex": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz",
- "integrity": "sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.25.0",
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-transform-dynamic-import": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz",
- "integrity": "sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz",
- "integrity": "sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-export-namespace-from": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz",
- "integrity": "sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-for-of": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz",
- "integrity": "sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-function-name": {
- "version": "7.25.1",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz",
- "integrity": "sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.24.8",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/traverse": "^7.25.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-json-strings": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz",
- "integrity": "sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-literals": {
- "version": "7.25.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz",
- "integrity": "sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-logical-assignment-operators": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz",
- "integrity": "sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz",
- "integrity": "sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz",
- "integrity": "sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz",
- "integrity": "sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.24.8",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-simple-access": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz",
- "integrity": "sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.25.0",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-validator-identifier": "^7.24.7",
- "@babel/traverse": "^7.25.0"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz",
- "integrity": "sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-transforms": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz",
- "integrity": "sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/plugin-transform-new-target": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz",
- "integrity": "sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz",
- "integrity": "sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-numeric-separator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz",
- "integrity": "sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-object-rest-spread": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz",
- "integrity": "sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-compilation-targets": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-transform-parameters": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-object-super": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz",
- "integrity": "sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-replace-supers": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-optional-catch-binding": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz",
- "integrity": "sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-optional-chaining": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz",
- "integrity": "sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-parameters": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz",
- "integrity": "sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-private-methods": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz",
- "integrity": "sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.25.4",
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-private-property-in-object": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz",
- "integrity": "sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.24.7",
- "@babel/helper-create-class-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz",
- "integrity": "sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz",
- "integrity": "sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "regenerator-transform": "^0.15.2"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz",
- "integrity": "sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-runtime": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz",
- "integrity": "sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-module-imports": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.8",
- "babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.10.6",
- "babel-plugin-polyfill-regenerator": "^0.6.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-runtime/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz",
- "integrity": "sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-spread": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz",
- "integrity": "sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz",
- "integrity": "sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz",
- "integrity": "sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.24.8",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz",
- "integrity": "sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz",
- "integrity": "sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-property-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz",
- "integrity": "sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.24.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz",
- "integrity": "sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.24.7",
- "@babel/helper-plugin-utils": "^7.24.7"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-transform-unicode-sets-regex": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz",
- "integrity": "sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.25.2",
- "@babel/helper-plugin-utils": "^7.24.8"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0"
- }
- },
- "node_modules/@babel/preset-env": {
- "version": "7.25.4",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz",
- "integrity": "sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.25.4",
- "@babel/helper-compilation-targets": "^7.25.2",
- "@babel/helper-plugin-utils": "^7.24.8",
- "@babel/helper-validator-option": "^7.24.8",
- "@babel/plugin-bugfix-firefox-class-in-computed-class-key": "^7.25.3",
- "@babel/plugin-bugfix-safari-class-field-initializer-scope": "^7.25.0",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.25.0",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.24.7",
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.25.0",
- "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2",
- "@babel/plugin-syntax-async-generators": "^7.8.4",
- "@babel/plugin-syntax-class-properties": "^7.12.13",
- "@babel/plugin-syntax-class-static-block": "^7.14.5",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3",
- "@babel/plugin-syntax-import-assertions": "^7.24.7",
- "@babel/plugin-syntax-import-attributes": "^7.24.7",
- "@babel/plugin-syntax-import-meta": "^7.10.4",
- "@babel/plugin-syntax-json-strings": "^7.8.3",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4",
- "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5",
- "@babel/plugin-syntax-top-level-await": "^7.14.5",
- "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
- "@babel/plugin-transform-arrow-functions": "^7.24.7",
- "@babel/plugin-transform-async-generator-functions": "^7.25.4",
- "@babel/plugin-transform-async-to-generator": "^7.24.7",
- "@babel/plugin-transform-block-scoped-functions": "^7.24.7",
- "@babel/plugin-transform-block-scoping": "^7.25.0",
- "@babel/plugin-transform-class-properties": "^7.25.4",
- "@babel/plugin-transform-class-static-block": "^7.24.7",
- "@babel/plugin-transform-classes": "^7.25.4",
- "@babel/plugin-transform-computed-properties": "^7.24.7",
- "@babel/plugin-transform-destructuring": "^7.24.8",
- "@babel/plugin-transform-dotall-regex": "^7.24.7",
- "@babel/plugin-transform-duplicate-keys": "^7.24.7",
- "@babel/plugin-transform-duplicate-named-capturing-groups-regex": "^7.25.0",
- "@babel/plugin-transform-dynamic-import": "^7.24.7",
- "@babel/plugin-transform-exponentiation-operator": "^7.24.7",
- "@babel/plugin-transform-export-namespace-from": "^7.24.7",
- "@babel/plugin-transform-for-of": "^7.24.7",
- "@babel/plugin-transform-function-name": "^7.25.1",
- "@babel/plugin-transform-json-strings": "^7.24.7",
- "@babel/plugin-transform-literals": "^7.25.2",
- "@babel/plugin-transform-logical-assignment-operators": "^7.24.7",
- "@babel/plugin-transform-member-expression-literals": "^7.24.7",
- "@babel/plugin-transform-modules-amd": "^7.24.7",
- "@babel/plugin-transform-modules-commonjs": "^7.24.8",
- "@babel/plugin-transform-modules-systemjs": "^7.25.0",
- "@babel/plugin-transform-modules-umd": "^7.24.7",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.24.7",
- "@babel/plugin-transform-new-target": "^7.24.7",
- "@babel/plugin-transform-nullish-coalescing-operator": "^7.24.7",
- "@babel/plugin-transform-numeric-separator": "^7.24.7",
- "@babel/plugin-transform-object-rest-spread": "^7.24.7",
- "@babel/plugin-transform-object-super": "^7.24.7",
- "@babel/plugin-transform-optional-catch-binding": "^7.24.7",
- "@babel/plugin-transform-optional-chaining": "^7.24.8",
- "@babel/plugin-transform-parameters": "^7.24.7",
- "@babel/plugin-transform-private-methods": "^7.25.4",
- "@babel/plugin-transform-private-property-in-object": "^7.24.7",
- "@babel/plugin-transform-property-literals": "^7.24.7",
- "@babel/plugin-transform-regenerator": "^7.24.7",
- "@babel/plugin-transform-reserved-words": "^7.24.7",
- "@babel/plugin-transform-shorthand-properties": "^7.24.7",
- "@babel/plugin-transform-spread": "^7.24.7",
- "@babel/plugin-transform-sticky-regex": "^7.24.7",
- "@babel/plugin-transform-template-literals": "^7.24.7",
- "@babel/plugin-transform-typeof-symbol": "^7.24.8",
- "@babel/plugin-transform-unicode-escapes": "^7.24.7",
- "@babel/plugin-transform-unicode-property-regex": "^7.24.7",
- "@babel/plugin-transform-unicode-regex": "^7.24.7",
- "@babel/plugin-transform-unicode-sets-regex": "^7.25.4",
- "@babel/preset-modules": "0.1.6-no-external-plugins",
- "babel-plugin-polyfill-corejs2": "^0.4.10",
- "babel-plugin-polyfill-corejs3": "^0.10.6",
- "babel-plugin-polyfill-regenerator": "^0.6.1",
- "core-js-compat": "^3.37.1",
- "semver": "^6.3.1"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/preset-env/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/@babel/preset-modules": {
- "version": "0.1.6-no-external-plugins",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz",
- "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/@babel/regjsgen": {
- "version": "0.8.0",
- "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz",
- "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@babel/runtime": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz",
- "integrity": "sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "regenerator-runtime": "^0.14.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/template": {
- "version": "7.25.0",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz",
- "integrity": "sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/parser": "^7.25.0",
- "@babel/types": "^7.25.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/traverse": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz",
- "integrity": "sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.24.7",
- "@babel/generator": "^7.25.6",
- "@babel/parser": "^7.25.6",
- "@babel/template": "^7.25.0",
- "@babel/types": "^7.25.6",
- "debug": "^4.3.1",
- "globals": "^11.1.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/types": {
- "version": "7.25.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz",
- "integrity": "sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-string-parser": "^7.24.8",
- "@babel/helper-validator-identifier": "^7.24.7",
- "to-fast-properties": "^2.0.0"
- },
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@colors/colors": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "engines": {
- "node": ">=0.1.90"
- }
- },
- "node_modules/@discoveryjs/json-ext": {
- "version": "0.5.7",
- "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz",
- "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- }
- },
- "node_modules/@fortawesome/fontawesome-common-types": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz",
- "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/fontawesome-svg-core": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz",
- "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.6.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/free-brands-svg-icons": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.6.0.tgz",
- "integrity": "sha512-1MPD8lMNW/earme4OQi1IFHtmHUwAKgghXlNwWi9GO7QkTfD+IIaYpIai4m2YJEzqfEji3jFHX1DZI5pbY/biQ==",
- "dev": true,
- "license": "(CC-BY-4.0 AND MIT)",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.6.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fortawesome/free-solid-svg-icons": {
- "version": "6.6.0",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz",
- "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==",
- "dev": true,
- "license": "(CC-BY-4.0 AND MIT)",
- "dependencies": {
- "@fortawesome/fontawesome-common-types": "6.6.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/@fullhuman/postcss-purgecss": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/@fullhuman/postcss-purgecss/-/postcss-purgecss-3.1.3.tgz",
- "integrity": "sha512-kwOXw8fZ0Lt1QmeOOrd+o4Ibvp4UTEBFQbzvWldjlKv5n+G9sXfIPn1hh63IQIL8K8vbvv1oYMJiIUbuy9bGaA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "purgecss": "^3.1.3"
- }
- },
- "node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
- "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/set-array": "^1.2.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.24"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
- "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/set-array": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
- "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/@jridgewell/source-map": {
- "version": "0.3.6",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
- "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/gen-mapping": "^0.3.5",
- "@jridgewell/trace-mapping": "^0.3.25"
- }
- },
- "node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz",
- "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.25",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
- "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@jridgewell/resolve-uri": "^3.1.0",
- "@jridgewell/sourcemap-codec": "^1.4.14"
- }
- },
- "node_modules/@leichtgewicht/ip-codec": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.5.tgz",
- "integrity": "sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@nodelib/fs.scandir": {
- "version": "2.1.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
- "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.stat": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
- "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@nodelib/fs.walk": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
- "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/@trysound/sax": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
- "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/@types/babel__core": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
- "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "node_modules/@types/babel__generator": {
- "version": "7.6.8",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
- "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__template": {
- "version": "7.4.4",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
- "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "node_modules/@types/babel__traverse": {
- "version": "7.20.6",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz",
- "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/types": "^7.20.7"
- }
- },
- "node_modules/@types/body-parser": {
- "version": "1.19.5",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz",
- "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/bonjour": {
- "version": "3.5.13",
- "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz",
- "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/clean-css": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.11.tgz",
- "integrity": "sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "source-map": "^0.6.0"
- }
- },
- "node_modules/@types/connect": {
- "version": "3.4.38",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
- "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/connect-history-api-fallback": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz",
- "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/express-serve-static-core": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/estree": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz",
- "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/express": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz",
- "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "*"
- }
- },
- "node_modules/@types/express-serve-static-core": {
- "version": "4.19.5",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz",
- "integrity": "sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "node_modules/@types/http-errors": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz",
- "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/http-proxy": {
- "version": "1.17.15",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz",
- "integrity": "sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/imagemin": {
- "version": "9.0.0",
- "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-9.0.0.tgz",
- "integrity": "sha512-4IaT+BdPUAFf/AAy3XlFAbqGk4RawhdidxWO5XTe+PJAYAr4d7m2FHiqyEPXbDpwS+IaLIJq5AIjLE9HcwMGBg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/imagemin-gifsicle": {
- "version": "7.0.4",
- "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.4.tgz",
- "integrity": "sha512-ZghMBd/Jgqg5utTJNPmvf6DkuHzMhscJ8vgf/7MUGCpO+G+cLrhYltL+5d+h3A1B4W73S2SrmJZ1jS5LACpX+A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/imagemin": "*"
- }
- },
- "node_modules/@types/imagemin-mozjpeg": {
- "version": "8.0.4",
- "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.4.tgz",
- "integrity": "sha512-ZCAxV8SYJB8ehwHpnbRpHjg5Wc4HcyuAMiDhXbkgC7gujDoOTyHO3dhDkUtZ1oK1DLBRZapqG9etdLVhUml7yQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/imagemin": "*"
- }
- },
- "node_modules/@types/imagemin-optipng": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.4.tgz",
- "integrity": "sha512-mvKnDMC8eCYZetAQudjs1DbgpR84WhsTx1wgvdiXnpuUEti3oJ+MaMYBRWPY0JlQ4+y4TXKOfa7+LOuT8daegQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/imagemin": "*"
- }
- },
- "node_modules/@types/imagemin-svgo": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-8.0.1.tgz",
- "integrity": "sha512-YafkdrVAcr38U0Ln1C+L1n4SIZqC47VBHTyxCq7gTUSd1R9MdIvMcrljWlgU1M9O68WZDeQWUrKipKYfEOCOvQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/imagemin": "*",
- "@types/svgo": "^1"
- }
- },
- "node_modules/@types/json-schema": {
- "version": "7.0.15",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz",
- "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/mime": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
- "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/minimatch": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
- "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/node": {
- "version": "22.5.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz",
- "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "undici-types": "~6.19.2"
- }
- },
- "node_modules/@types/node-forge": {
- "version": "1.3.11",
- "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz",
- "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/parse-json": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
- "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/qs": {
- "version": "6.9.16",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz",
- "integrity": "sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/range-parser": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
- "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/send": {
- "version": "0.17.4",
- "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz",
- "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/mime": "^1",
- "@types/node": "*"
- }
- },
- "node_modules/@types/serve-index": {
- "version": "1.9.4",
- "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz",
- "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/express": "*"
- }
- },
- "node_modules/@types/serve-static": {
- "version": "1.15.7",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.7.tgz",
- "integrity": "sha512-W8Ym+h8nhuRwaKPaDw34QUkwsGi6Rc4yYqvKFo5rm2FUEhCFbzVWrxXUxuKK8TASjWsysJY0nsmNCGhCOIsrOw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/http-errors": "*",
- "@types/node": "*",
- "@types/send": "*"
- }
- },
- "node_modules/@types/sockjs": {
- "version": "0.3.36",
- "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz",
- "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@types/svgo": {
- "version": "1.3.6",
- "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.6.tgz",
- "integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@types/ws": {
- "version": "8.5.12",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz",
- "integrity": "sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*"
- }
- },
- "node_modules/@vue/compiler-sfc": {
- "version": "2.7.16",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz",
- "integrity": "sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==",
- "dev": true,
- "dependencies": {
- "@babel/parser": "^7.23.5",
- "postcss": "^8.4.14",
- "source-map": "^0.6.1"
- },
- "optionalDependencies": {
- "prettier": "^1.18.2 || ^2.0.0"
- }
- },
- "node_modules/@vue/component-compiler-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz",
- "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "consolidate": "^0.15.1",
- "hash-sum": "^1.0.2",
- "lru-cache": "^4.1.2",
- "merge-source-map": "^1.1.0",
- "postcss": "^7.0.36",
- "postcss-selector-parser": "^6.0.2",
- "source-map": "~0.6.1",
- "vue-template-es2015-compiler": "^1.9.0"
- },
- "optionalDependencies": {
- "prettier": "^1.18.2 || ^2.0.0"
- }
- },
- "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz",
- "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "node_modules/@vue/component-compiler-utils/node_modules/picocolors": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
- "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@vue/component-compiler-utils/node_modules/postcss": {
- "version": "7.0.39",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz",
- "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=6.0.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- }
- },
- "node_modules/@vue/component-compiler-utils/node_modules/yallist": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz",
- "integrity": "sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/@webassemblyjs/ast": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.12.1.tgz",
- "integrity": "sha512-EKfMUOPRRUTy5UII4qJDGPpqfwjOmZ5jeGFwid9mnoqIFK+e0vqoi1qH56JpmZSzEL53jKnNzScdmftJyG5xWg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz",
- "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz",
- "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.12.1.tgz",
- "integrity": "sha512-nzJwQw99DNDKr9BVCOZcLuJJUlqkJh+kVzVl6Fmq/tI5ZtEyWT1KZMyOXltXLZJmDtvLCDgwsyrkohEtopTXCw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
- "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.6",
- "@webassemblyjs/helper-api-error": "1.11.6",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
- "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.12.1.tgz",
- "integrity": "sha512-Jif4vfB6FJlUlSbgEMHUyk1j234GTNG9dBJ4XJdOySoj518Xj0oGsNi59cUQF4RRMS9ouBUxDDdyBVfPTypa5g==",
- "dev": true,
- "license": "MIT",
- "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"
- }
- },
- "node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
- "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "node_modules/@webassemblyjs/leb128": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
- "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webassemblyjs/utf8": {
- "version": "1.11.6",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
- "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.12.1.tgz",
- "integrity": "sha512-1DuwbVvADvS5mGnXbE+c9NfA8QRcZ6iKquqjjmR10k6o+zzsRVesil54DKexiowcFCPdr/Q0qaMgB01+SQ1u6g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-buffer": "1.12.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/helper-wasm-section": "1.12.1",
- "@webassemblyjs/wasm-gen": "1.12.1",
- "@webassemblyjs/wasm-opt": "1.12.1",
- "@webassemblyjs/wasm-parser": "1.12.1",
- "@webassemblyjs/wast-printer": "1.12.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.12.1.tgz",
- "integrity": "sha512-TDq4Ojh9fcohAw6OIMXqiIcTq5KUXTGRkVxbSo1hQnSy6lAM5GSdfwWeSxpAo0YzgsgF182E/U0mDNhuA0tW7w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/ieee754": "1.11.6",
- "@webassemblyjs/leb128": "1.11.6",
- "@webassemblyjs/utf8": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/wasm-opt": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.12.1.tgz",
- "integrity": "sha512-Jg99j/2gG2iaz3hijw857AVYekZe2SAskcqlWIZXjji5WStnOpVoat3gQfT/Q5tb2djnCjBtMocY/Su1GfxPBg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-buffer": "1.12.1",
- "@webassemblyjs/wasm-gen": "1.12.1",
- "@webassemblyjs/wasm-parser": "1.12.1"
- }
- },
- "node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.12.1.tgz",
- "integrity": "sha512-xikIi7c2FHXysxXe3COrVUPSheuBtpcfhbpFj4gmu7KRLYOzANztwUU0IbsqvMqzuNK2+glRGWCEqZo1WCLyAQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@webassemblyjs/helper-api-error": "1.11.6",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
- "@webassemblyjs/ieee754": "1.11.6",
- "@webassemblyjs/leb128": "1.11.6",
- "@webassemblyjs/utf8": "1.11.6"
- }
- },
- "node_modules/@webassemblyjs/wast-printer": {
- "version": "1.12.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.12.1.tgz",
- "integrity": "sha512-+X4WAlOisVWQMikjbcvY2e0rwPsKQ9F688lksZhBcPycBBuii3O7m8FACbDMWDojpAqvjIncrG8J0XHKyQfVeA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@webassemblyjs/ast": "1.12.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "node_modules/@webpack-cli/configtest": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.2.0.tgz",
- "integrity": "sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "webpack": "4.x.x || 5.x.x",
- "webpack-cli": "4.x.x"
- }
- },
- "node_modules/@webpack-cli/info": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.5.0.tgz",
- "integrity": "sha512-e8tSXZpw2hPl2uMJY6fsMswaok5FdlGNRTktvFk2sD8RjH0hE2+XistawJx1vmKteh4NmGmNUrp+Tb2w+udPcQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "envinfo": "^7.7.3"
- },
- "peerDependencies": {
- "webpack-cli": "4.x.x"
- }
- },
- "node_modules/@webpack-cli/serve": {
- "version": "1.7.0",
- "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.7.0.tgz",
- "integrity": "sha512-oxnCNGj88fL+xzV+dacXs44HcDwf1ovs3AuEzvP7mqXw7fQntqIhQ1BRmynh4qEKQSSSRSWVyXRjmTbZIX9V2Q==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "webpack-cli": "4.x.x"
- },
- "peerDependenciesMeta": {
- "webpack-dev-server": {
- "optional": true
- }
- }
- },
- "node_modules/@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==",
- "dev": true,
- "license": "BSD-3-Clause"
- },
- "node_modules/@xtuc/long": {
- "version": "4.2.2",
- "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
- "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==",
- "dev": true,
- "license": "Apache-2.0"
- },
- "node_modules/accepts": {
- "version": "1.3.8",
- "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
- "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/acorn": {
- "version": "8.12.1",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz",
- "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "acorn": "bin/acorn"
- },
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/acorn-import-attributes": {
- "version": "1.9.5",
- "resolved": "https://registry.npmjs.org/acorn-import-attributes/-/acorn-import-attributes-1.9.5.tgz",
- "integrity": "sha512-n02Vykv5uA3eHGM/Z2dQrcD56kL8TyDb2p1+0P83PClMnC/nc+anbQRhIOWnSq4Ke/KvDPrY3C9hDtC/A3eHnQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "acorn": "^8"
- }
- },
- "node_modules/adjust-sourcemap-loader": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz",
- "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "regex-parser": "^2.2.11"
- },
- "engines": {
- "node": ">=8.9"
- }
- },
- "node_modules/ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependencies": {
- "ajv": "^8.0.0"
- },
- "peerDependenciesMeta": {
- "ajv": {
- "optional": true
- }
- }
- },
- "node_modules/ajv-formats/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
- }
- },
- "node_modules/ajv-formats/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "dev": true,
- "license": "MIT",
- "peerDependencies": {
- "ajv": "^6.9.1"
- }
- },
- "node_modules/ansi-html-community": {
- "version": "0.0.8",
- "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz",
- "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==",
- "dev": true,
- "engines": [
- "node >= 0.8.0"
- ],
- "license": "Apache-2.0",
- "bin": {
- "ansi-html": "bin/ansi-html"
- }
- },
- "node_modules/ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-convert": "^2.0.1"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/chalk/ansi-styles?sponsor=1"
- }
- },
- "node_modules/anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/array-union": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
- "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/asn1.js": {
- "version": "4.10.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz",
- "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/asn1.js/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/assert": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.1.tgz",
- "integrity": "sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "object.assign": "^4.1.4",
- "util": "^0.10.4"
- }
- },
- "node_modules/assert/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/assert/node_modules/util": {
- "version": "0.10.4",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.4.tgz",
- "integrity": "sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "2.0.3"
- }
- },
- "node_modules/asynckit": {
- "version": "0.4.0",
- "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
- "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
- "license": "MIT"
- },
- "node_modules/autoprefixer": {
- "version": "10.4.20",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
- "integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/autoprefixer"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.23.3",
- "caniuse-lite": "^1.0.30001646",
- "fraction.js": "^4.3.7",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.1",
- "postcss-value-parser": "^4.2.0"
- },
- "bin": {
- "autoprefixer": "bin/autoprefixer"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/axios": {
- "version": "1.7.7",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz",
- "integrity": "sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==",
- "license": "MIT",
- "dependencies": {
- "follow-redirects": "^1.15.6",
- "form-data": "^4.0.0",
- "proxy-from-env": "^1.1.0"
- }
- },
- "node_modules/babel-loader": {
- "version": "8.3.0",
- "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.3.0.tgz",
- "integrity": "sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-cache-dir": "^3.3.1",
- "loader-utils": "^2.0.0",
- "make-dir": "^3.1.0",
- "schema-utils": "^2.6.5"
- },
- "engines": {
- "node": ">= 8.9"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0",
- "webpack": ">=2"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.4.11",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.11.tgz",
- "integrity": "sha512-sMEJ27L0gRHShOh5G54uAAPaiCOygY/5ratXuiyb2G46FmlSpc9eFCzYVyDiPxfNbwzA7mYahmjQc5q+CZQ09Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/compat-data": "^7.22.6",
- "@babel/helper-define-polyfill-provider": "^0.6.2",
- "semver": "^6.3.1"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.10.6",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz",
- "integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.2",
- "core-js-compat": "^3.38.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.6.2",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.2.tgz",
- "integrity": "sha512-2R25rQZWP63nGwaAswvDazbPXfrM3HwVoBXK6HcqeKrSrL/JqcC/rDcf95l4r7LXLyxDXc8uQDa064GubtCABg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.6.2"
- },
- "peerDependencies": {
- "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
- }
- },
- "node_modules/balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/batch": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz",
- "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/binary-extensions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
- "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/bn.js": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz",
- "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/body-parser": {
- "version": "1.20.3",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
- "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.2",
- "content-type": "~1.0.5",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "on-finished": "2.4.1",
- "qs": "6.13.0",
- "raw-body": "2.5.2",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/body-parser/node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/body-parser/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/body-parser/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/bonjour-service": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz",
- "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "multicast-dns": "^7.2.5"
- }
- },
- "node_modules/boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/bootstrap": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz",
- "integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/twbs"
- },
- {
- "type": "opencollective",
- "url": "https://opencollective.com/bootstrap"
- }
- ],
- "license": "MIT",
- "peerDependencies": {
- "jquery": "1.9.1 - 3",
- "popper.js": "^1.16.1"
- }
- },
- "node_modules/brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "node_modules/braces": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
- "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "fill-range": "^7.1.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer-xor": "^1.0.3",
- "cipher-base": "^1.0.0",
- "create-hash": "^1.1.0",
- "evp_bytestokey": "^1.0.3",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/browserify-cipher": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz",
- "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "node_modules/browserify-des": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz",
- "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/browserify-rsa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
- "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bn.js": "^5.0.0",
- "randombytes": "^2.0.1"
- }
- },
- "node_modules/browserify-sign": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz",
- "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "bn.js": "^5.2.1",
- "browserify-rsa": "^4.1.0",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "elliptic": "^6.5.5",
- "hash-base": "~3.0",
- "inherits": "^2.0.4",
- "parse-asn1": "^5.1.7",
- "readable-stream": "^2.3.8",
- "safe-buffer": "^5.2.1"
- },
- "engines": {
- "node": ">= 0.12"
- }
- },
- "node_modules/browserify-zlib": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz",
- "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pako": "~1.0.5"
- }
- },
- "node_modules/browserslist": {
- "version": "4.23.3",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz",
- "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "caniuse-lite": "^1.0.30001646",
- "electron-to-chromium": "^1.5.4",
- "node-releases": "^2.0.18",
- "update-browserslist-db": "^1.1.0"
- },
- "bin": {
- "browserslist": "cli.js"
- },
- "engines": {
- "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
- }
- },
- "node_modules/buffer": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
- "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4",
- "isarray": "^1.0.0"
- }
- },
- "node_modules/buffer-from": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
- "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/builtin-status-codes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz",
- "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/call-bind": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
- "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "set-function-length": "^1.2.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/camel-case": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
- "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pascal-case": "^3.1.2",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/caniuse-api": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz",
- "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.0.0",
- "caniuse-lite": "^1.0.0",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- }
- },
- "node_modules/caniuse-lite": {
- "version": "1.0.30001660",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001660.tgz",
- "integrity": "sha512-GacvNTTuATm26qC74pt+ad1fW15mlQ/zuTzzY1ZoIzECTP8HURDfF43kNxPgf7H1jmelCBQTTbBNxdSXOA7Bqg==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "CC-BY-4.0"
- },
- "node_modules/chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/chalk?sponsor=1"
- }
- },
- "node_modules/charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/chokidar": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
- "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "glob-parent": "~5.1.2",
- "is-binary-path": "~2.1.0",
- "is-glob": "~4.0.1",
- "normalize-path": "~3.0.0",
- "readdirp": "~3.6.0"
- },
- "engines": {
- "node": ">= 8.10.0"
- },
- "funding": {
- "url": "https://paulmillr.com/funding/"
- },
- "optionalDependencies": {
- "fsevents": "~2.3.2"
- }
- },
- "node_modules/chrome-trace-event": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz",
- "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.0"
- }
- },
- "node_modules/cipher-base": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz",
- "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "node_modules/clean-css": {
- "version": "5.3.3",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.3.tgz",
- "integrity": "sha512-D5J+kHaVb/wKSFcyyV75uCn8fiY4sV38XJoe4CUyGQ+mOU/fMVYUdH1hJC+CJQ5uY3EnW27SbJYS4X8BiLrAFg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "source-map": "~0.6.0"
- },
- "engines": {
- "node": ">= 10.0"
- }
- },
- "node_modules/cli-table3": {
- "version": "0.6.5",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.5.tgz",
- "integrity": "sha512-+W/5efTR7y5HRD7gACw9yQjqMVvEMLBHmboM/kPWam+H+Hmyrgjh6YncVKK122YZkXrLudzTuAukUw9FnMf7IQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "string-width": "^4.2.0"
- },
- "engines": {
- "node": "10.* || >= 12.*"
- },
- "optionalDependencies": {
- "@colors/colors": "1.5.0"
- }
- },
- "node_modules/cliui": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
- "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/clone-deep": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz",
- "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/collect.js": {
- "version": "4.36.1",
- "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.36.1.tgz",
- "integrity": "sha512-jd97xWPKgHn6uvK31V6zcyPd40lUJd7gpYxbN2VOVxGWO4tyvS9Li4EpsFjXepGTo2tYcOTC4a8YsbQXMJ4XUw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/color-convert": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
- "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "color-name": "~1.1.4"
- },
- "engines": {
- "node": ">=7.0.0"
- }
- },
- "node_modules/color-name": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
- "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/colord": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
- "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/colorette": {
- "version": "2.0.20",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
- "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/combined-stream": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
- "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
- "license": "MIT",
- "dependencies": {
- "delayed-stream": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/compressible": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mime-db": ">= 1.43.0 < 2"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/compression": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "accepts": "~1.3.5",
- "bytes": "3.0.0",
- "compressible": "~2.0.16",
- "debug": "2.6.9",
- "on-headers": "~1.0.2",
- "safe-buffer": "5.1.2",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.8.0"
- }
- },
- "node_modules/compression/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/compression/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/compression/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/concat": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz",
- "integrity": "sha512-f/ZaH1aLe64qHgTILdldbvyfGiGF4uzeo9IuXUloIOLQzFmIPloy9QbZadNsuVv0j5qbKQvQb/H/UYf2UsKTpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "commander": "^2.9.0"
- },
- "bin": {
- "concat": "bin/concat"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/concat/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/connect-history-api-fallback": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz",
- "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8"
- }
- },
- "node_modules/consola": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
- "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/console-browserify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
- "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==",
- "dev": true
- },
- "node_modules/consolidate": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
- "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
- "deprecated": "Please upgrade to consolidate v1.0.0+ as it has been modernized with several long-awaited fixes implemented. Maintenance is supported by Forward Email at https://forwardemail.net ; follow/watch https://github.com/ladjs/consolidate for updates and release changelog",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bluebird": "^3.1.1"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/constants-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz",
- "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/content-disposition": {
- "version": "0.5.4",
- "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
- "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "5.2.1"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/convert-source-map": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
- "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cookie": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz",
- "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/core-js-compat": {
- "version": "3.38.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
- "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.23.3"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/core-js"
- }
- },
- "node_modules/core-util-is": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz",
- "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/cosmiconfig": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
- "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/parse-json": "^4.0.0",
- "import-fresh": "^3.2.1",
- "parse-json": "^5.0.0",
- "path-type": "^4.0.0",
- "yaml": "^1.10.0"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/create-ecdh": {
- "version": "4.0.4",
- "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz",
- "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.5.3"
- }
- },
- "node_modules/create-ecdh/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/create-hash": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz",
- "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "node_modules/create-hmac": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz",
- "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cipher-base": "^1.0.3",
- "create-hash": "^1.1.0",
- "inherits": "^2.0.1",
- "ripemd160": "^2.0.0",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "node_modules/cross-env": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz",
- "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.1"
- },
- "bin": {
- "cross-env": "src/bin/cross-env.js",
- "cross-env-shell": "src/bin/cross-env-shell.js"
- },
- "engines": {
- "node": ">=10.14",
- "npm": ">=6",
- "yarn": ">=1"
- }
- },
- "node_modules/cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- },
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/crypt": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
- "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": "*"
- }
- },
- "node_modules/crypto-browserify": {
- "version": "3.12.0",
- "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz",
- "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserify-cipher": "^1.0.0",
- "browserify-sign": "^4.0.0",
- "create-ecdh": "^4.0.0",
- "create-hash": "^1.1.0",
- "create-hmac": "^1.1.0",
- "diffie-hellman": "^5.0.0",
- "inherits": "^2.0.1",
- "pbkdf2": "^3.0.3",
- "public-encrypt": "^4.0.0",
- "randombytes": "^2.0.0",
- "randomfill": "^1.0.3"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/css-declaration-sorter": {
- "version": "6.4.1",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.1.tgz",
- "integrity": "sha512-rtdthzxKuyq6IzqX6jEcIzQF/YqccluefyCYheovBOLhFT/drQA9zj/UbRAa9J7C0o6EG6u3E6g+vKkay7/k3g==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^10 || ^12 || >=14"
- },
- "peerDependencies": {
- "postcss": "^8.0.9"
- }
- },
- "node_modules/css-loader": {
- "version": "7.1.2",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-7.1.2.tgz",
- "integrity": "sha512-6WvYYn7l/XEGN8Xu2vWFt9nVzrCn39vKyTEFf/ExEyoksJjjSZV/0/35XPlMbpnr6VGhZIUg5yJrL8tGfes/FA==",
- "dev": true,
- "license": "MIT",
- "peer": true,
- "dependencies": {
- "icss-utils": "^5.1.0",
- "postcss": "^8.4.33",
- "postcss-modules-extract-imports": "^3.1.0",
- "postcss-modules-local-by-default": "^4.0.5",
- "postcss-modules-scope": "^3.2.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.2.0",
- "semver": "^7.5.4"
- },
- "engines": {
- "node": ">= 18.12.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "@rspack/core": "0.x || 1.x",
- "webpack": "^5.27.0"
- },
- "peerDependenciesMeta": {
- "@rspack/core": {
- "optional": true
- },
- "webpack": {
- "optional": true
- }
- }
- },
- "node_modules/css-select": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
- "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "boolbase": "^1.0.0",
- "css-what": "^6.0.1",
- "domhandler": "^4.3.1",
- "domutils": "^2.8.0",
- "nth-check": "^2.0.1"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/css-select/node_modules/domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "domelementtype": "^2.2.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/css-tree": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
- "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mdn-data": "2.0.14",
- "source-map": "^0.6.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">= 6"
- },
- "funding": {
- "url": "https://github.com/sponsors/fb55"
- }
- },
- "node_modules/cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "cssesc": "bin/cssesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/cssnano": {
- "version": "5.1.15",
- "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.15.tgz",
- "integrity": "sha512-j+BKgDcLDQA+eDifLx0EO4XSA56b7uut3BQFH+wbSaSTuGLuiyTa/wbRYthUXX8LC9mLg+WWKe8h+qJuwTAbHw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssnano-preset-default": "^5.2.14",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/cssnano"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/cssnano-preset-default": {
- "version": "5.2.14",
- "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.14.tgz",
- "integrity": "sha512-t0SFesj/ZV2OTylqQVOrFgEh5uanxbO6ZAdeCrNsUQ6fVuXwYTxJPNAGvGTxHbD68ldIJNec7PyYZDBrfDQ+6A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "css-declaration-sorter": "^6.3.1",
- "cssnano-utils": "^3.1.0",
- "postcss-calc": "^8.2.3",
- "postcss-colormin": "^5.3.1",
- "postcss-convert-values": "^5.1.3",
- "postcss-discard-comments": "^5.1.2",
- "postcss-discard-duplicates": "^5.1.0",
- "postcss-discard-empty": "^5.1.1",
- "postcss-discard-overridden": "^5.1.0",
- "postcss-merge-longhand": "^5.1.7",
- "postcss-merge-rules": "^5.1.4",
- "postcss-minify-font-values": "^5.1.0",
- "postcss-minify-gradients": "^5.1.1",
- "postcss-minify-params": "^5.1.4",
- "postcss-minify-selectors": "^5.2.1",
- "postcss-normalize-charset": "^5.1.0",
- "postcss-normalize-display-values": "^5.1.0",
- "postcss-normalize-positions": "^5.1.1",
- "postcss-normalize-repeat-style": "^5.1.1",
- "postcss-normalize-string": "^5.1.0",
- "postcss-normalize-timing-functions": "^5.1.0",
- "postcss-normalize-unicode": "^5.1.1",
- "postcss-normalize-url": "^5.1.0",
- "postcss-normalize-whitespace": "^5.1.1",
- "postcss-ordered-values": "^5.1.3",
- "postcss-reduce-initial": "^5.1.2",
- "postcss-reduce-transforms": "^5.1.0",
- "postcss-svgo": "^5.1.0",
- "postcss-unique-selectors": "^5.1.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/cssnano-utils": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
- "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/csso": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
- "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "css-tree": "^1.1.2"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/csstype": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz",
- "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/datatables.net": {
- "version": "1.13.11",
- "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.13.11.tgz",
- "integrity": "sha512-AE6RkMXziRaqzPcu/pl3SJXeRa6fmXQG/fVjuRESujvkzqDCYEeKTTpPMuVJSGYJpPi32WGSphVNNY1G4nSN/g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "jquery": "1.8 - 4"
- }
- },
- "node_modules/datatables.net-bs4": {
- "version": "1.13.11",
- "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.13.11.tgz",
- "integrity": "sha512-1LnxzQDFKpwvBETc8wtUtQ+pUXhs6NJomNST5pRzzHAccckkj9rZeOp3mevKDnDJKuNhBM1Y0rIeZGylJnqh9A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "datatables.net": "1.13.11",
- "jquery": "1.8 - 4"
- }
- },
- "node_modules/de-indent": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz",
- "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/debug": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz",
- "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "^2.1.3"
- },
- "engines": {
- "node": ">=6.0"
- },
- "peerDependenciesMeta": {
- "supports-color": {
- "optional": true
- }
- }
- },
- "node_modules/default-gateway": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz",
- "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "execa": "^5.0.0"
- },
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/define-data-property": {
- "version": "1.1.4",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
- "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0",
- "es-errors": "^1.3.0",
- "gopd": "^1.0.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/define-lazy-prop": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz",
- "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/define-properties": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz",
- "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-data-property": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/delayed-stream": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
- "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
- "license": "MIT",
- "engines": {
- "node": ">=0.4.0"
- }
- },
- "node_modules/depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/des.js": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz",
- "integrity": "sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "node_modules/destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8",
- "npm": "1.2.8000 || >= 1.4.16"
- }
- },
- "node_modules/detect-node": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- }
- },
- "node_modules/diffie-hellman/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-type": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/dns-packet": {
- "version": "5.6.1",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz",
- "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@leichtgewicht/ip-codec": "^2.0.1"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/dom-serializer": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
- "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- },
- "funding": {
- "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
- }
- },
- "node_modules/dom-serializer/node_modules/domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "domelementtype": "^2.2.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/domain-browser": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz",
- "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4",
- "npm": ">=1.2"
- }
- },
- "node_modules/domelementtype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/fb55"
- }
- ],
- "license": "BSD-2-Clause"
- },
- "node_modules/domhandler": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
- "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "domelementtype": "^2.0.1"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/domutils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- },
- "funding": {
- "url": "https://github.com/fb55/domutils?sponsor=1"
- }
- },
- "node_modules/domutils/node_modules/domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "domelementtype": "^2.2.0"
- },
- "engines": {
- "node": ">= 4"
- },
- "funding": {
- "url": "https://github.com/fb55/domhandler?sponsor=1"
- }
- },
- "node_modules/dot-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
- "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/dotenv": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
- "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/dotenv-expand": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz",
- "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/ee-first": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
- "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/electron-to-chromium": {
- "version": "1.5.23",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.23.tgz",
- "integrity": "sha512-mBhODedOXg4v5QWwl21DjM5amzjmI1zw9EPrPK/5Wx7C8jt33bpZNrC7OhHUG3pxRtbLpr3W2dXT+Ph1SsfRZA==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/elliptic": {
- "version": "6.5.7",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.7.tgz",
- "integrity": "sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bn.js": "^4.11.9",
- "brorand": "^1.1.0",
- "hash.js": "^1.0.0",
- "hmac-drbg": "^1.0.1",
- "inherits": "^2.0.4",
- "minimalistic-assert": "^1.0.1",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "node_modules/elliptic/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/emoji-regex": {
- "version": "8.0.0",
- "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
- "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/encodeurl": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
- "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/enhanced-resolve": {
- "version": "5.17.1",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
- "integrity": "sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- },
- "engines": {
- "node": ">=10.13.0"
- }
- },
- "node_modules/entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
- "dev": true,
- "license": "BSD-2-Clause",
- "funding": {
- "url": "https://github.com/fb55/entities?sponsor=1"
- }
- },
- "node_modules/envinfo": {
- "version": "7.14.0",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz",
- "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "envinfo": "dist/cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/error-ex": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
- "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-arrayish": "^0.2.1"
- }
- },
- "node_modules/es-define-property": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
- "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.2.4"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-errors": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
- "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/es-module-lexer": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.4.tgz",
- "integrity": "sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/escalade": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
- "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/escape-html": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
- "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/escape-string-regexp": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
- "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/eslint-scope": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
- "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "estraverse": "^5.2.0"
- },
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esrecurse/node_modules/estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=4.0"
- }
- },
- "node_modules/esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
- "dev": true,
- "license": "BSD-2-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.8.x"
- }
- },
- "node_modules/evp_bytestokey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz",
- "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "node_modules/execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cross-spawn": "^7.0.3",
- "get-stream": "^6.0.0",
- "human-signals": "^2.1.0",
- "is-stream": "^2.0.0",
- "merge-stream": "^2.0.0",
- "npm-run-path": "^4.0.1",
- "onetime": "^5.1.2",
- "signal-exit": "^3.0.3",
- "strip-final-newline": "^2.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sindresorhus/execa?sponsor=1"
- }
- },
- "node_modules/express": {
- "version": "4.21.0",
- "resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz",
- "integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.3",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.6.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.3.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.3",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.10",
- "proxy-addr": "~2.0.7",
- "qs": "6.13.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.19.0",
- "serve-static": "1.16.2",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "engines": {
- "node": ">= 0.10.0"
- }
- },
- "node_modules/express/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/express/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-deep-equal": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
- "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-glob": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
- "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@nodelib/fs.stat": "^2.0.2",
- "@nodelib/fs.walk": "^1.2.3",
- "glob-parent": "^5.1.2",
- "merge2": "^1.3.0",
- "micromatch": "^4.0.4"
- },
- "engines": {
- "node": ">=8.6.0"
- }
- },
- "node_modules/fast-json-stable-stringify": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
- "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fast-uri": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz",
- "integrity": "sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/fastest-levenshtein": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4.9.1"
- }
- },
- "node_modules/fastq": {
- "version": "1.17.1",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
- "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "reusify": "^1.0.4"
- }
- },
- "node_modules/faye-websocket": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
- "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
- "dev": true,
- "license": "Apache-2.0",
- "dependencies": {
- "websocket-driver": ">=0.5.1"
- },
- "engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/file-loader/node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/file-type": {
- "version": "12.4.2",
- "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz",
- "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/fill-range": {
- "version": "7.1.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
- "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "to-regex-range": "^5.0.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/finalhandler": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
- "integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/finalhandler/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
- }
- },
- "node_modules/finalhandler/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/find-cache-dir": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz",
- "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/avajs/find-cache-dir?sponsor=1"
- }
- },
- "node_modules/find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/flat": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz",
- "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==",
- "dev": true,
- "license": "BSD-3-Clause",
- "bin": {
- "flat": "cli.js"
- }
- },
- "node_modules/follow-redirects": {
- "version": "1.15.9",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz",
- "integrity": "sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==",
- "funding": [
- {
- "type": "individual",
- "url": "https://github.com/sponsors/RubenVerborgh"
- }
- ],
- "license": "MIT",
- "engines": {
- "node": ">=4.0"
- },
- "peerDependenciesMeta": {
- "debug": {
- "optional": true
- }
- }
- },
- "node_modules/form-data": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz",
- "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==",
- "license": "MIT",
- "dependencies": {
- "asynckit": "^0.4.0",
- "combined-stream": "^1.0.8",
- "mime-types": "^2.1.12"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fraction.js": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz",
- "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "*"
- },
- "funding": {
- "type": "patreon",
- "url": "https://github.com/sponsors/rawify"
- }
- },
- "node_modules/fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/fs-extra": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz",
- "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/fs-monkey": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.6.tgz",
- "integrity": "sha512-b1FMfwetIKymC0eioW7mTywihSQE4oLzQn1dB6rZB5fx/3NpNEdAWeCSMB+60/AeT0TCXsxzAlcYVEFCTAksWg==",
- "dev": true,
- "license": "Unlicense"
- },
- "node_modules/fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/fsevents": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
- "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
- "dev": true,
- "hasInstallScript": true,
- "license": "MIT",
- "optional": true,
- "os": [
- "darwin"
- ],
- "engines": {
- "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
- }
- },
- "node_modules/function-bind": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
- "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/gensync": {
- "version": "1.0.0-beta.2",
- "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
- "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/get-caller-file": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
- "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "6.* || 8.* || >= 10.*"
- }
- },
- "node_modules/get-intrinsic": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
- "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "has-proto": "^1.0.1",
- "has-symbols": "^1.0.3",
- "hasown": "^2.0.0"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/get-stream": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
- "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "deprecated": "Glob versions prior to v9 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "fs.realpath": "^1.0.0",
- "inflight": "^1.0.4",
- "inherits": "2",
- "minimatch": "^3.1.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
- },
- "engines": {
- "node": "*"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "is-glob": "^4.0.1"
- },
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/glob-to-regexp": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz",
- "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==",
- "dev": true,
- "license": "BSD-2-Clause"
- },
- "node_modules/globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/globby": {
- "version": "10.0.2",
- "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz",
- "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/glob": "^7.1.1",
- "array-union": "^2.1.0",
- "dir-glob": "^3.0.1",
- "fast-glob": "^3.0.3",
- "glob": "^7.1.3",
- "ignore": "^5.1.1",
- "merge2": "^1.2.3",
- "slash": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/gopd": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
- "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "get-intrinsic": "^1.1.3"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/graceful-fs": {
- "version": "4.2.11",
- "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
- "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/growly": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
- "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/handle-thing": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz",
- "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/has-property-descriptors": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
- "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "es-define-property": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-proto": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
- "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/hash-base": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz",
- "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/hash-sum": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz",
- "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "node_modules/hasown": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
- "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "function-bind": "^1.1.2"
- },
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "he": "bin/he"
- }
- },
- "node_modules/hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "node_modules/hpack.js": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
- "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "inherits": "^2.0.1",
- "obuf": "^1.0.0",
- "readable-stream": "^2.0.1",
- "wbuf": "^1.1.0"
- }
- },
- "node_modules/html-entities": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.5.2.tgz",
- "integrity": "sha512-K//PSRMQk4FZ78Kyau+mZurHn3FH0Vwr+H36eE0rPbeYkRRi9YxceYPhuN60UwWorxyKHhqoAJl2OFKa4BVtaA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/mdevils"
- },
- {
- "type": "patreon",
- "url": "https://patreon.com/mdevils"
- }
- ],
- "license": "MIT"
- },
- "node_modules/html-loader": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz",
- "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "html-minifier-terser": "^5.1.1",
- "htmlparser2": "^4.1.0",
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
- }
- },
- "node_modules/html-loader/node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/html-minifier-terser": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
- "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "camel-case": "^4.1.1",
- "clean-css": "^4.2.3",
- "commander": "^4.1.1",
- "he": "^1.2.0",
- "param-case": "^3.0.3",
- "relateurl": "^0.2.7",
- "terser": "^4.6.3"
- },
- "bin": {
- "html-minifier-terser": "cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/html-minifier-terser/node_modules/clean-css": {
- "version": "4.2.4",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz",
- "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "source-map": "~0.6.0"
- },
- "engines": {
- "node": ">= 4.0"
- }
- },
- "node_modules/html-minifier-terser/node_modules/commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/html-minifier-terser/node_modules/terser": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
- "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
- "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/htmlparser2": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
- "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "domelementtype": "^2.0.1",
- "domhandler": "^3.0.0",
- "domutils": "^2.0.0",
- "entities": "^2.0.0"
- }
- },
- "node_modules/http-deceiver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/http-errors": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
- "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/http-parser-js": {
- "version": "0.5.8",
- "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz",
- "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/http-proxy": {
- "version": "1.18.1",
- "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
- "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- },
- "engines": {
- "node": ">=8.0.0"
- }
- },
- "node_modules/http-proxy-middleware": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz",
- "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/http-proxy": "^1.17.8",
- "http-proxy": "^1.18.1",
- "is-glob": "^4.0.1",
- "is-plain-obj": "^3.0.0",
- "micromatch": "^4.0.2"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "@types/express": "^4.17.13"
- },
- "peerDependenciesMeta": {
- "@types/express": {
- "optional": true
- }
- }
- },
- "node_modules/https-browserify": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz",
- "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/human-signals": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
- "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
- "dev": true,
- "license": "Apache-2.0",
- "engines": {
- "node": ">=10.17.0"
- }
- },
- "node_modules/iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safer-buffer": ">= 2.1.2 < 3"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/icss-utils": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "BSD-3-Clause"
- },
- "node_modules/ignore": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz",
- "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/imagemin": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz",
- "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "file-type": "^12.0.0",
- "globby": "^10.0.0",
- "graceful-fs": "^4.2.2",
- "junk": "^3.1.0",
- "make-dir": "^3.0.0",
- "p-pipe": "^3.0.0",
- "replace-ext": "^1.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/img-loader": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz",
- "integrity": "sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "loader-utils": "^1.1.0"
- },
- "engines": {
- "node": ">=12"
- },
- "peerDependencies": {
- "imagemin": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0"
- }
- },
- "node_modules/img-loader/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
- },
- "bin": {
- "json5": "lib/cli.js"
- }
- },
- "node_modules/img-loader/node_modules/loader-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
- "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- },
- "engines": {
- "node": ">=4.0.0"
- }
- },
- "node_modules/immutable": {
- "version": "4.3.7",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz",
- "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/import-local": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz",
- "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- },
- "bin": {
- "import-local-fixture": "fixtures/cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "node_modules/inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/ipaddr.js": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.2.0.tgz",
- "integrity": "sha512-Ag3wB2o37wslZS19hZqorUnrnzSkpOVy+IiiDEiTqNubEYpYuHWIf6K4psgN2ZWKExS4xhVCrRVfb/wfW8fWJA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 10"
- }
- },
- "node_modules/is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/is-binary-path": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
- "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "binary-extensions": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/is-core-module": {
- "version": "2.15.1",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz",
- "integrity": "sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hasown": "^2.0.2"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "is-docker": "cli.js"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-fullwidth-code-point": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
- "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-extglob": "^2.1.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.12.0"
- }
- },
- "node_modules/is-plain-obj": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz",
- "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-plain-object": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz",
- "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "isobject": "^3.0.1"
- },
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "is-docker": "^2.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/jest-worker": {
- "version": "27.5.1",
- "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz",
- "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- }
- },
- "node_modules/jest-worker/node_modules/supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "has-flag": "^4.0.0"
- },
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/chalk/supports-color?sponsor=1"
- }
- },
- "node_modules/jquery": {
- "version": "3.7.1",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz",
- "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/jquery-slim": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/jquery-slim/-/jquery-slim-3.0.0.tgz",
- "integrity": "sha512-+EvMa8hXQZYXFbe3e1amh/o3gU0D6l2Z3iv0muqE6w584xokWs8dfLplXfvm0d74Zu4kU4+2zYw0jIMHNp/vNw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "jsesc": "bin/jsesc"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/json-parse-even-better-errors": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
- "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json-schema-traverse": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
- "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "json5": "lib/cli.js"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "universalify": "^2.0.0"
- },
- "optionalDependencies": {
- "graceful-fs": "^4.1.6"
- }
- },
- "node_modules/junk": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
- "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/kind-of": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz",
- "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/klona": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
- "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/laravel-mix": {
- "version": "6.0.49",
- "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.49.tgz",
- "integrity": "sha512-bBMFpFjp26XfijPvY5y9zGKud7VqlyOE0OWUcPo3vTBY5asw8LTjafAbee1dhfLz6PWNqDziz69CP78ELSpfKw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/core": "^7.15.8",
- "@babel/plugin-proposal-object-rest-spread": "^7.15.6",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-transform-runtime": "^7.15.8",
- "@babel/preset-env": "^7.15.8",
- "@babel/runtime": "^7.15.4",
- "@types/babel__core": "^7.1.16",
- "@types/clean-css": "^4.2.5",
- "@types/imagemin-gifsicle": "^7.0.1",
- "@types/imagemin-mozjpeg": "^8.0.1",
- "@types/imagemin-optipng": "^5.2.1",
- "@types/imagemin-svgo": "^8.0.0",
- "autoprefixer": "^10.4.0",
- "babel-loader": "^8.2.3",
- "chalk": "^4.1.2",
- "chokidar": "^3.5.2",
- "clean-css": "^5.2.4",
- "cli-table3": "^0.6.0",
- "collect.js": "^4.28.5",
- "commander": "^7.2.0",
- "concat": "^1.0.3",
- "css-loader": "^5.2.6",
- "cssnano": "^5.0.8",
- "dotenv": "^10.0.0",
- "dotenv-expand": "^5.1.0",
- "file-loader": "^6.2.0",
- "fs-extra": "^10.0.0",
- "glob": "^7.2.0",
- "html-loader": "^1.3.2",
- "imagemin": "^7.0.1",
- "img-loader": "^4.0.0",
- "lodash": "^4.17.21",
- "md5": "^2.3.0",
- "mini-css-extract-plugin": "^1.6.2",
- "node-libs-browser": "^2.2.1",
- "postcss-load-config": "^3.1.0",
- "postcss-loader": "^6.2.0",
- "semver": "^7.3.5",
- "strip-ansi": "^6.0.0",
- "style-loader": "^2.0.0",
- "terser": "^5.9.0",
- "terser-webpack-plugin": "^5.2.4",
- "vue-style-loader": "^4.1.3",
- "webpack": "^5.60.0",
- "webpack-cli": "^4.9.1",
- "webpack-dev-server": "^4.7.3",
- "webpack-merge": "^5.8.0",
- "webpack-notifier": "^1.14.1",
- "webpackbar": "^5.0.0-3",
- "yargs": "^17.2.1"
- },
- "bin": {
- "laravel-mix": "bin/cli.js",
- "mix": "bin/cli.js"
- },
- "engines": {
- "node": ">=12.14.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.15.8",
- "@babel/plugin-proposal-object-rest-spread": "^7.15.6",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3",
- "@babel/plugin-transform-runtime": "^7.15.8",
- "@babel/preset-env": "^7.15.8",
- "postcss": "^8.3.11",
- "webpack": "^5.60.0",
- "webpack-cli": "^4.9.1"
- }
- },
- "node_modules/laravel-mix-purgecss": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/laravel-mix-purgecss/-/laravel-mix-purgecss-6.0.0.tgz",
- "integrity": "sha512-1OVy3xVVqvWrBTI+vQrr9qlrNKKqq3lFlWQpdJxKO2IeK8bMERkNab3fLtldyyOd5ApBuoMd81EqF4ew2N/NdA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-purgecss-laravel": "^2.0.0"
- },
- "engines": {
- "node": ">=12.0.0"
- },
- "peerDependencies": {
- "laravel-mix": "^6.0.0"
- }
- },
- "node_modules/laravel-mix/node_modules/css-loader": {
- "version": "5.2.7",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
- "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "icss-utils": "^5.1.0",
- "loader-utils": "^2.0.0",
- "postcss": "^8.2.15",
- "postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
- "postcss-modules-scope": "^3.0.0",
- "postcss-modules-values": "^4.0.0",
- "postcss-value-parser": "^4.1.0",
- "schema-utils": "^3.0.0",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.27.0 || ^5.0.0"
- }
- },
- "node_modules/laravel-mix/node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/launch-editor": {
- "version": "2.9.1",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz",
- "integrity": "sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "picocolors": "^1.0.0",
- "shell-quote": "^1.8.1"
- }
- },
- "node_modules/lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/lines-and-columns": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
- "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/loader-runner": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz",
- "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6.11.5"
- }
- },
- "node_modules/loader-utils": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz",
- "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- },
- "engines": {
- "node": ">=8.9.0"
- }
- },
- "node_modules/locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-locate": "^4.1.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.memoize": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
- "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/lower-case": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
- "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "tslib": "^2.0.3"
- }
- },
- "node_modules/lru-cache": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
- "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "yallist": "^3.0.2"
- }
- },
- "node_modules/make-dir": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz",
- "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "semver": "^6.0.0"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/make-dir/node_modules/semver": {
- "version": "6.3.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
- "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
- "dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- }
- },
- "node_modules/md5": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
- "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "charenc": "0.0.2",
- "crypt": "0.0.2",
- "is-buffer": "~1.1.6"
- }
- },
- "node_modules/md5.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
- "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/mdn-data": {
- "version": "2.0.14",
- "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz",
- "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==",
- "dev": true,
- "license": "CC0-1.0"
- },
- "node_modules/media-typer": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
- "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/memfs": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
- "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
- "dev": true,
- "license": "Unlicense",
- "dependencies": {
- "fs-monkey": "^1.0.4"
- },
- "engines": {
- "node": ">= 4.0.0"
- }
- },
- "node_modules/merge-descriptors": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
- "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/merge-source-map": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz",
- "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "source-map": "^0.6.1"
- }
- },
- "node_modules/merge-stream": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
- "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 8"
- }
- },
- "node_modules/methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/micromatch": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
- "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "braces": "^3.0.3",
- "picomatch": "^2.3.1"
- },
- "engines": {
- "node": ">=8.6"
- }
- },
- "node_modules/miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- },
- "bin": {
- "miller-rabin": "bin/miller-rabin"
- }
- },
- "node_modules/miller-rabin/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
- "dev": true,
- "license": "MIT",
- "bin": {
- "mime": "cli.js"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mime-types": {
- "version": "2.1.35",
- "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
- "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
- "license": "MIT",
- "dependencies": {
- "mime-db": "1.52.0"
- },
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/mini-css-extract-plugin": {
- "version": "1.6.2",
- "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz",
- "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0",
- "webpack-sources": "^1.1.0"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.4.0 || ^5.0.0"
- }
- },
- "node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
- "engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/minimalistic-assert": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz",
- "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/minimalistic-crypto-utils": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz",
- "integrity": "sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "brace-expansion": "^1.1.7"
- },
- "engines": {
- "node": "*"
- }
- },
- "node_modules/minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
- "license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/multicast-dns": {
- "version": "7.2.5",
- "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz",
- "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dns-packet": "^5.2.2",
- "thunky": "^1.0.2"
- },
- "bin": {
- "multicast-dns": "cli.js"
- }
- },
- "node_modules/nanoid": {
- "version": "3.3.7",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz",
- "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "bin": {
- "nanoid": "bin/nanoid.cjs"
- },
- "engines": {
- "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
- }
- },
- "node_modules/negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/neo-async": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
- "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/no-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
- "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lower-case": "^2.0.2",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/node-forge": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
- "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==",
- "dev": true,
- "license": "(BSD-3-Clause OR GPL-2.0)",
- "engines": {
- "node": ">= 6.13.0"
- }
- },
- "node_modules/node-libs-browser": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz",
- "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "assert": "^1.1.1",
- "browserify-zlib": "^0.2.0",
- "buffer": "^4.3.0",
- "console-browserify": "^1.1.0",
- "constants-browserify": "^1.0.0",
- "crypto-browserify": "^3.11.0",
- "domain-browser": "^1.1.1",
- "events": "^3.0.0",
- "https-browserify": "^1.0.0",
- "os-browserify": "^0.3.0",
- "path-browserify": "0.0.1",
- "process": "^0.11.10",
- "punycode": "^1.2.4",
- "querystring-es3": "^0.2.0",
- "readable-stream": "^2.3.3",
- "stream-browserify": "^2.0.1",
- "stream-http": "^2.7.2",
- "string_decoder": "^1.0.0",
- "timers-browserify": "^2.0.4",
- "tty-browserify": "0.0.0",
- "url": "^0.11.0",
- "util": "^0.11.0",
- "vm-browserify": "^1.0.1"
- }
- },
- "node_modules/node-notifier": {
- "version": "9.0.1",
- "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz",
- "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "growly": "^1.3.0",
- "is-wsl": "^2.2.0",
- "semver": "^7.3.2",
- "shellwords": "^0.1.1",
- "uuid": "^8.3.0",
- "which": "^2.0.2"
- }
- },
- "node_modules/node-releases": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
- "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-range": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz",
- "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/npm-run-path": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
- "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "path-key": "^3.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/nth-check": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz",
- "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "boolbase": "^1.0.0"
- },
- "funding": {
- "url": "https://github.com/fb55/nth-check?sponsor=1"
- }
- },
- "node_modules/object-inspect": {
- "version": "1.13.2",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.2.tgz",
- "integrity": "sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/object-keys": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
- "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.4"
- }
- },
- "node_modules/object.assign": {
- "version": "4.1.5",
- "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz",
- "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "call-bind": "^1.0.5",
- "define-properties": "^1.2.1",
- "has-symbols": "^1.0.3",
- "object-keys": "^1.1.1"
- },
- "engines": {
- "node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/obuf": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/on-finished": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
- "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "ee-first": "1.1.1"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/on-headers": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz",
- "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "wrappy": "1"
- }
- },
- "node_modules/onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "mimic-fn": "^2.1.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/open": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
- "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- },
- "engines": {
- "node": ">=12"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/os-browserify": {
- "version": "0.3.0",
- "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
- "integrity": "sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-try": "^2.0.0"
- },
- "engines": {
- "node": ">=6"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-locate": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
- "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "p-limit": "^2.2.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-pipe": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz",
- "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/p-retry": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
- "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@types/retry": "0.12.0",
- "retry": "^0.13.1"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/p-try": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
- "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==",
- "dev": true,
- "license": "(MIT AND Zlib)"
- },
- "node_modules/param-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
- "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/parent-module": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
- "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "callsites": "^3.0.0"
- },
- "engines": {
- "node": ">=6"
- }
- },
- "node_modules/parse-asn1": {
- "version": "5.1.7",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz",
- "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "asn1.js": "^4.10.1",
- "browserify-aes": "^1.2.0",
- "evp_bytestokey": "^1.0.3",
- "hash-base": "~3.0",
- "pbkdf2": "^3.1.2",
- "safe-buffer": "^5.2.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/parse-json": {
- "version": "5.2.0",
- "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
- "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@babel/code-frame": "^7.0.0",
- "error-ex": "^1.3.1",
- "json-parse-even-better-errors": "^2.3.0",
- "lines-and-columns": "^1.1.6"
- },
- "engines": {
- "node": ">=8"
- },
- "funding": {
- "url": "https://github.com/sponsors/sindresorhus"
- }
- },
- "node_modules/parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/pascal-case": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
- "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "node_modules/path-browserify": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz",
- "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-exists": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
- "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-is-absolute": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
- "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/path-parse": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
- "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-to-regexp": {
- "version": "0.1.10",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
- "integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/pbkdf2": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- },
- "engines": {
- "node": ">=0.12"
- }
- },
- "node_modules/picocolors": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz",
- "integrity": "sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/jonschlinkert"
- }
- },
- "node_modules/pkg-dir": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
- "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "find-up": "^4.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/popper.js": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
- "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==",
- "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1",
- "dev": true,
- "license": "MIT",
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/popperjs"
- }
- },
- "node_modules/postcss": {
- "version": "8.4.47",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz",
- "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==",
- "dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/postcss"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
- "license": "MIT",
- "dependencies": {
- "nanoid": "^3.3.7",
- "picocolors": "^1.1.0",
- "source-map-js": "^1.2.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14"
- }
- },
- "node_modules/postcss-calc": {
- "version": "8.2.4",
- "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz",
- "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^6.0.9",
- "postcss-value-parser": "^4.2.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.2"
- }
- },
- "node_modules/postcss-colormin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz",
- "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.21.4",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.1",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-convert-values": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.3.tgz",
- "integrity": "sha512-82pC1xkJZtcJEfiLw6UXnXVXScgtBrjlO5CBmuDQc+dlb88ZYheFsjTn40+zBVi3DkfF7iezO0nJUPLcJK3pvA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.21.4",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-discard-comments": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
- "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-discard-duplicates": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
- "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-discard-empty": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
- "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-discard-overridden": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
- "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-load-config": {
- "version": "3.1.4",
- "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz",
- "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
- },
- "engines": {
- "node": ">= 10"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/postcss/"
- },
- "peerDependencies": {
- "postcss": ">=8.0.9",
- "ts-node": ">=9.0.0"
- },
- "peerDependenciesMeta": {
- "postcss": {
- "optional": true
- },
- "ts-node": {
- "optional": true
- }
- }
- },
- "node_modules/postcss-loader": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz",
- "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cosmiconfig": "^7.0.0",
- "klona": "^2.0.5",
- "semver": "^7.3.5"
- },
- "engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "postcss": "^7.0.0 || ^8.0.1",
- "webpack": "^5.0.0"
- }
- },
- "node_modules/postcss-merge-longhand": {
- "version": "5.1.7",
- "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.7.tgz",
- "integrity": "sha512-YCI9gZB+PLNskrK0BB3/2OzPnGhPkBEwmwhfYk1ilBHYVAZB7/tkTHFBAnCrvBBOmeYyMYw3DMjT55SyxMBzjQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.1.1"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-merge-rules": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.4.tgz",
- "integrity": "sha512-0R2IuYpgU93y9lhVbO/OylTtKMVcHb67zjWIfCiKR9rWL3GUk1677LAqD/BcHizukdZEjT8Ru3oHRoAYoJy44g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.21.4",
- "caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.1.0",
- "postcss-selector-parser": "^6.0.5"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-minify-font-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz",
- "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-minify-gradients": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz",
- "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "colord": "^2.9.1",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-minify-params": {
- "version": "5.1.4",
- "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.4.tgz",
- "integrity": "sha512-+mePA3MgdmVmv6g+30rn57USjOGSAyuxUmkfiWpzalZ8aiBkdPYjXWtHuwJGm1v5Ojy0Z0LaSYhHaLJQB0P8Jw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.21.4",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-minify-selectors": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz",
- "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^6.0.5"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-modules-extract-imports": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.1.0.tgz",
- "integrity": "sha512-k3kNe0aNFQDAZGbin48pL2VNidTF0w4/eASDsxlyspobzU3wZQLOGj7L9gfRe0Jo9/4uud09DsjFNH7winGv8Q==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-local-by-default": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.5.tgz",
- "integrity": "sha512-6MieY7sIfTK0hYfafw1OMEG+2bg8Q1ocHCpoWLqOKj3JXlKu4G7btkmM/B7lFubYkYWmRSPLZi5chid63ZaZYw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "icss-utils": "^5.0.0",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.1.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-scope": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.2.0.tgz",
- "integrity": "sha512-oq+g1ssrsZOsx9M96c5w8laRmvEu9C3adDSjI8oTcbfkrTE8hx/zfyobUoWIxaKPO8bt6S62kxpw5GqypEw1QQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "postcss-selector-parser": "^6.0.4"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-modules-values": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz",
- "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "icss-utils": "^5.0.0"
- },
- "engines": {
- "node": "^10 || ^12 || >= 14"
- },
- "peerDependencies": {
- "postcss": "^8.1.0"
- }
- },
- "node_modules/postcss-normalize-charset": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
- "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-display-values": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz",
- "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-positions": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.1.tgz",
- "integrity": "sha512-6UpCb0G4eofTCQLFVuI3EVNZzBNPiIKcA1AKVka+31fTVySphr3VUgAIULBhxZkKgwLImhzMR2Bw1ORK+37INg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-repeat-style": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.1.tgz",
- "integrity": "sha512-mFpLspGWkQtBcWIRFLmewo8aC3ImN2i/J3v8YCFUwDnPu3Xz4rLohDO26lGjwNsQxB3YF0KKRwspGzE2JEuS0g==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-string": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz",
- "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-timing-functions": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz",
- "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-unicode": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.1.tgz",
- "integrity": "sha512-qnCL5jzkNUmKVhZoENp1mJiGNPcsJCs1aaRmURmeJGES23Z/ajaln+EPTD+rBeNkSryI+2WTdW+lwcVdOikrpA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.21.4",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-url": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz",
- "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "normalize-url": "^6.0.1",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-normalize-whitespace": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz",
- "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-ordered-values": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.3.tgz",
- "integrity": "sha512-9UO79VUhPwEkzbb3RNpqqghc6lcYej1aveQteWY+4POIwlqkYE21HKWaLDF6lWNuqCobEAyTovVhtI32Rbv2RQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-purgecss-laravel": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/postcss-purgecss-laravel/-/postcss-purgecss-laravel-2.0.0.tgz",
- "integrity": "sha512-vWObgEC5f0isOdumiLwzJPuZFyp7i1Go9i2Obce5qrVJWciBtCG1rrNiPEb7xp5bU3u/uk30M2P891tLL8tcQQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "@fullhuman/postcss-purgecss": "^3.0.0"
- },
- "engines": {
- "node": ">=12.0.0"
- }
- },
- "node_modules/postcss-reduce-initial": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.2.tgz",
- "integrity": "sha512-dE/y2XRaqAi6OvjzD22pjTUQ8eOfc6m/natGHgKFBK9DxFmIm69YmaRVQrGgFlEfc1HePIurY0TmDeROK05rIg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "browserslist": "^4.21.4",
- "caniuse-api": "^3.0.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-reduce-transforms": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz",
- "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-selector-parser": {
- "version": "6.1.2",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz",
- "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/postcss-svgo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
- "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-value-parser": "^4.2.0",
- "svgo": "^2.7.0"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-unique-selectors": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz",
- "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "postcss-selector-parser": "^6.0.5"
- },
- "engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
- }
- },
- "node_modules/postcss-value-parser": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz",
- "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/prettier": {
- "version": "2.8.8",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
- "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
- "dev": true,
- "license": "MIT",
- "optional": true,
- "bin": {
- "prettier": "bin-prettier.js"
- },
- "engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "url": "https://github.com/prettier/prettier?sponsor=1"
- }
- },
- "node_modules/pretty-time": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz",
- "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6.0"
- }
- },
- "node_modules/process-nextick-args": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz",
- "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/proxy-addr": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
- "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/proxy-addr/node_modules/ipaddr.js": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
- "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/proxy-from-env": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
- "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
- "license": "MIT"
- },
- "node_modules/pseudomap": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz",
- "integrity": "sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bn.js": "^4.1.0",
- "browserify-rsa": "^4.0.0",
- "create-hash": "^1.1.0",
- "parse-asn1": "^5.0.0",
- "randombytes": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "node_modules/public-encrypt/node_modules/bn.js": {
- "version": "4.12.0",
- "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz",
- "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/purgecss": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/purgecss/-/purgecss-3.1.3.tgz",
- "integrity": "sha512-hRSLN9mguJ2lzlIQtW4qmPS2kh6oMnA9RxdIYK8sz18QYqd6ePp4GNDl18oWHA1f2v2NEQIh51CO8s/E3YGckQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "commander": "^6.0.0",
- "glob": "^7.0.0",
- "postcss": "^8.2.1",
- "postcss-selector-parser": "^6.0.2"
- },
- "bin": {
- "purgecss": "bin/purgecss.js"
- }
- },
- "node_modules/purgecss/node_modules/commander": {
- "version": "6.2.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz",
- "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 6"
- }
- },
- "node_modules/qs": {
- "version": "6.13.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
- "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
- "dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "side-channel": "^1.0.6"
- },
- "engines": {
- "node": ">=0.6"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==",
- "dev": true,
- "engines": {
- "node": ">=0.4.x"
- }
- },
- "node_modules/queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
- ],
- "license": "MIT"
- },
- "node_modules/randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
- },
- "node_modules/range-parser": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
- "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/raw-body": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
- "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/raw-body/node_modules/bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">= 0.8"
- }
- },
- "node_modules/readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "core-util-is": "~1.0.0",
- "inherits": "~2.0.3",
- "isarray": "~1.0.0",
- "process-nextick-args": "~2.0.0",
- "safe-buffer": "~5.1.1",
- "string_decoder": "~1.1.1",
- "util-deprecate": "~1.0.1"
- }
- },
- "node_modules/readable-stream/node_modules/safe-buffer": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
- "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/readable-stream/node_modules/string_decoder": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz",
- "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.1.0"
- }
- },
- "node_modules/readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-darwin-x64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.53.3.tgz",
+ "integrity": "sha512-DZ8N4CSNfl965CmPktJ8oBnfYr3F8dTTNBQkRlffnUarJ2ohudQD17sZBa097J8xhQ26AwhHJ5mvUyQW8ddTsQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "picomatch": "^2.2.1"
- },
- "engines": {
- "node": ">=8.10.0"
- }
- },
- "node_modules/rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
+ "optional": true,
+ "os": [
+ "darwin"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.53.3.tgz",
+ "integrity": "sha512-yMTrCrK92aGyi7GuDNtGn2sNW+Gdb4vErx4t3Gv/Tr+1zRb8ax4z8GWVRfr3Jw8zJWvpGHNpss3vVlbF58DZ4w==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "resolve": "^1.9.0"
- },
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/regenerate": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regenerate-unicode-properties": {
- "version": "10.2.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz",
- "integrity": "sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-freebsd-x64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.53.3.tgz",
+ "integrity": "sha512-lMfF8X7QhdQzseM6XaX0vbno2m3hlyZFhwcndRMw8fbAGUGL3WFMBdK0hbUBIUYcEcMhVLr1SIamDeuLBnXS+Q==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "regenerate": "^1.4.2"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/regenerator-runtime": {
- "version": "0.14.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
- "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regenerator-transform": {
- "version": "0.15.2",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz",
- "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-gnueabihf": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.53.3.tgz",
+ "integrity": "sha512-k9oD15soC/Ln6d2Wv/JOFPzZXIAIFLp6B+i14KhxAfnq76ajt0EhYc5YPeX6W1xJkAdItcVT+JhKl1QZh44/qw==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/runtime": "^7.8.4"
- }
- },
- "node_modules/regex-parser": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz",
- "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/regexpu-core": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz",
- "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm-musleabihf": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.53.3.tgz",
+ "integrity": "sha512-vTNlKq+N6CK/8UktsrFuc+/7NlEYVxgaEgRXVUVK258Z5ymho29skzW1sutgYjqNnquGwVUObAaxae8rZ6YMhg==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@babel/regjsgen": "^0.8.0",
- "regenerate": "^1.4.2",
- "regenerate-unicode-properties": "^10.1.0",
- "regjsparser": "^0.9.1",
- "unicode-match-property-ecmascript": "^2.0.0",
- "unicode-match-property-value-ecmascript": "^2.1.0"
- },
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/regjsparser": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
- "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "jsesc": "~0.5.0"
- },
- "bin": {
- "regjsparser": "bin/parser"
- }
- },
- "node_modules/regjsparser/node_modules/jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==",
- "dev": true,
- "bin": {
- "jsesc": "bin/jsesc"
- }
- },
- "node_modules/relateurl": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
- "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.53.3.tgz",
+ "integrity": "sha512-RGrFLWgMhSxRs/EWJMIFM1O5Mzuz3Xy3/mnxJp/5cVhZ2XoCAxJnmNsEyeMJtpK+wu0FJFWz+QF4mjCA7AUQ3w==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/replace-ext": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
- "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-arm64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.53.3.tgz",
+ "integrity": "sha512-kASyvfBEWYPEwe0Qv4nfu6pNkITLTb32p4yTgzFCocHnJLAHs+9LjUu9ONIhvfT/5lv4YS5muBHyuV84epBo/A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">= 0.10"
- }
- },
- "node_modules/require-directory": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
- "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-loong64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.53.3.tgz",
+ "integrity": "sha512-JiuKcp2teLJwQ7vkJ95EwESWkNRFJD7TQgYmCnrPtlu50b4XvT5MOmurWNrCj3IFdyjBQ5p9vnrX4JM6I8OE7g==",
+ "cpu": [
+ "loong64"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/require-from-string": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
- "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-ppc64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.53.3.tgz",
+ "integrity": "sha512-EoGSa8nd6d3T7zLuqdojxC20oBfNT8nexBbB/rkxgKj5T5vhpAQKKnD+h3UkoMuTyXkP5jTjK/ccNRmQrPNDuw==",
+ "cpu": [
+ "ppc64"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/resolve": {
- "version": "1.22.8",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
- "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.53.3.tgz",
+ "integrity": "sha512-4s+Wped2IHXHPnAEbIB0YWBv7SDohqxobiiPA1FIWZpX+w9o2i4LezzH/NkFUl8LRci/8udci6cLq+jJQlh+0g==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "is-core-module": "^2.13.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- },
- "bin": {
- "resolve": "bin/resolve"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/resolve-cwd": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
- "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-riscv64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.53.3.tgz",
+ "integrity": "sha512-68k2g7+0vs2u9CxDt5ktXTngsxOQkSEV/xBbwlqYcUrAVh6P9EgMZvFsnHy4SEiUl46Xf0IObWVbMvPrr2gw8A==",
+ "cpu": [
+ "riscv64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "resolve-from": "^5.0.0"
- },
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-cwd/node_modules/resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-s390x-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.53.3.tgz",
+ "integrity": "sha512-VYsFMpULAz87ZW6BVYw3I6sWesGpsP9OPcyKe8ofdg9LHxSbRMd7zrVrr5xi/3kMZtpWL/wC+UIJWJYVX5uTKg==",
+ "cpu": [
+ "s390x"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=8"
- }
- },
- "node_modules/resolve-from": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
- "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.53.3.tgz",
+ "integrity": "sha512-3EhFi1FU6YL8HTUJZ51imGJWEX//ajQPfqWLI3BQq4TlvHy4X0MOr5q3D2Zof/ka0d5FNdPwZXm3Yyib/UEd+w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=4"
- }
- },
- "node_modules/resolve-url-loader": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz",
- "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-linux-x64-musl": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.53.3.tgz",
+ "integrity": "sha512-eoROhjcc6HbZCJr+tvVT8X4fW3/5g/WkGvvmwz/88sDtSJzO7r/blvoBDgISDiCjDRZmHpwud7h+6Q9JxFwq1Q==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "adjust-sourcemap-loader": "^4.0.0",
- "convert-source-map": "^1.7.0",
- "loader-utils": "^2.0.0",
- "postcss": "^8.2.14",
- "source-map": "0.6.1"
- },
- "engines": {
- "node": ">=12"
- }
- },
- "node_modules/resolve-url-loader/node_modules/convert-source-map": {
- "version": "1.9.0",
- "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz",
- "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/retry": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==",
+ "optional": true,
+ "os": [
+ "linux"
+ ]
+ },
+ "node_modules/@rollup/rollup-openharmony-arm64": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.53.3.tgz",
+ "integrity": "sha512-OueLAWgrNSPGAdUdIjSWXw+u/02BRTcnfw9PN41D2vq/JSEPnJnVuBgw18VkN8wcd4fjUs+jFHVM4t9+kBSNLw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">= 4"
- }
- },
- "node_modules/reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "optional": true,
+ "os": [
+ "openharmony"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-arm64-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.53.3.tgz",
+ "integrity": "sha512-GOFuKpsxR/whszbF/bzydebLiXIHSgsEUp6M0JI8dWvi+fFa1TD6YQa4aSZHtpmh2/uAlj/Dy+nmby3TJ3pkTw==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "engines": {
- "iojs": ">=1.0.0",
- "node": ">=0.10.0"
- }
- },
- "node_modules/rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "deprecated": "Rimraf versions prior to v4 are no longer supported",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "glob": "^7.1.3"
- },
- "bin": {
- "rimraf": "bin.js"
- },
- "funding": {
- "url": "https://github.com/sponsors/isaacs"
- }
- },
- "node_modules/ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-ia32-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.53.3.tgz",
+ "integrity": "sha512-iah+THLcBJdpfZ1TstDFbKNznlzoxa8fmnFYK4V67HvmuNYkVdAywJSoteUszvBQ9/HqN2+9AZghbajMsFT+oA==",
+ "cpu": [
+ "ia32"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "node_modules/run-parallel": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
- "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
- "dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-gnu": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.53.3.tgz",
+ "integrity": "sha512-J9QDiOIZlZLdcot5NXEepDkstocktoVjkaKUtqzgzpt2yWjGlbYiKyp05rWwk4nypbYUNoFAztEgixoLaSETkg==",
+ "cpu": [
+ "x64"
],
- "license": "MIT",
- "dependencies": {
- "queue-microtask": "^1.2.2"
- }
- },
- "node_modules/safe-buffer": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
- "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
"dev": true,
- "funding": [
- {
- "type": "github",
- "url": "https://github.com/sponsors/feross"
- },
- {
- "type": "patreon",
- "url": "https://www.patreon.com/feross"
- },
- {
- "type": "consulting",
- "url": "https://feross.org/support"
- }
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
+ },
+ "node_modules/@rollup/rollup-win32-x64-msvc": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.53.3.tgz",
+ "integrity": "sha512-UhTd8u31dXadv0MopwGgNOBpUVROFKWVQgAg5N1ESyCz8AuBcMqm4AuTjrwgQKGDfoFuz02EuMRHQIw/frmYKQ==",
+ "cpu": [
+ "x64"
],
- "license": "MIT"
- },
- "node_modules/safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/sass": {
- "version": "1.78.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.78.0.tgz",
- "integrity": "sha512-AaIqGSrjo5lA2Yg7RvFZrlXDBCp3nV4XP73GrLGvdRWWwk+8H3l0SDvq/5bA4eF+0RFPLuWUk3E+P1U/YqnpsQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
- "source-map-js": ">=0.6.2 <2.0.0"
- },
- "bin": {
- "sass": "sass.js"
- },
- "engines": {
- "node": ">=14.0.0"
- }
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ]
},
- "node_modules/sass-loader": {
- "version": "12.6.0",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz",
- "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
+ "node_modules/@tailwindcss/node": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.1.17.tgz",
+ "integrity": "sha512-csIkHIgLb3JisEFQ0vxr2Y57GUNYh447C8xzwj89U/8fdW8LhProdxvnVH6U8M2Y73QKiTIH+LWbK3V2BBZsAg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "klona": "^2.0.4",
- "neo-async": "^2.6.2"
- },
- "engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "fibers": ">= 3.1.0",
- "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.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
- }
+ "@jridgewell/remapping": "^2.3.4",
+ "enhanced-resolve": "^5.18.3",
+ "jiti": "^2.6.1",
+ "lightningcss": "1.30.2",
+ "magic-string": "^0.30.21",
+ "source-map-js": "^1.2.1",
+ "tailwindcss": "4.1.17"
}
},
- "node_modules/schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
+ "node_modules/@tailwindcss/oxide": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.1.17.tgz",
+ "integrity": "sha512-F0F7d01fmkQhsTjXezGBLdrl1KresJTcI3DB8EkScCldyKp3Msz4hub4uyYaVnk88BAS1g5DQjjF6F5qczheLA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- },
"engines": {
- "node": ">= 8.9.0"
+ "node": ">= 10"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- }
- },
- "node_modules/select-hose": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
- "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/select2": {
- "version": "4.1.0-rc.0",
- "resolved": "https://registry.npmjs.org/select2/-/select2-4.1.0-rc.0.tgz",
- "integrity": "sha512-Hr9TdhyHCZUtwznEH2CBf7967mEM0idtJ5nMtjvk3Up5tPukOLXbHUNmh10oRfeNIhj+3GD3niu+g6sVK+gK0A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/selfsigned": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz",
- "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==",
+ "optionalDependencies": {
+ "@tailwindcss/oxide-android-arm64": "4.1.17",
+ "@tailwindcss/oxide-darwin-arm64": "4.1.17",
+ "@tailwindcss/oxide-darwin-x64": "4.1.17",
+ "@tailwindcss/oxide-freebsd-x64": "4.1.17",
+ "@tailwindcss/oxide-linux-arm-gnueabihf": "4.1.17",
+ "@tailwindcss/oxide-linux-arm64-gnu": "4.1.17",
+ "@tailwindcss/oxide-linux-arm64-musl": "4.1.17",
+ "@tailwindcss/oxide-linux-x64-gnu": "4.1.17",
+ "@tailwindcss/oxide-linux-x64-musl": "4.1.17",
+ "@tailwindcss/oxide-wasm32-wasi": "4.1.17",
+ "@tailwindcss/oxide-win32-arm64-msvc": "4.1.17",
+ "@tailwindcss/oxide-win32-x64-msvc": "4.1.17"
+ }
+ },
+ "node_modules/@tailwindcss/oxide-android-arm64": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.1.17.tgz",
+ "integrity": "sha512-BMqpkJHgOZ5z78qqiGE6ZIRExyaHyuxjgrJ6eBO5+hfrfGkuya0lYfw8fRHG77gdTjWkNWEEm+qeG2cDMxArLQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/node-forge": "^1.3.0",
- "node-forge": "^1"
- },
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">=10"
+ "node": ">= 10"
}
},
- "node_modules/semver": {
- "version": "7.6.3",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz",
- "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==",
+ "node_modules/@tailwindcss/oxide-darwin-arm64": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.1.17.tgz",
+ "integrity": "sha512-EquyumkQweUBNk1zGEU/wfZo2qkp/nQKRZM8bUYO0J+Lums5+wl2CcG1f9BgAjn/u9pJzdYddHWBiFXJTcxmOg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "ISC",
- "bin": {
- "semver": "bin/semver.js"
- },
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=10"
+ "node": ">= 10"
}
},
- "node_modules/send": {
- "version": "0.19.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
- "integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
+ "node_modules/@tailwindcss/oxide-darwin-x64": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.1.17.tgz",
+ "integrity": "sha512-gdhEPLzke2Pog8s12oADwYu0IAw04Y2tlmgVzIN0+046ytcgx8uZmCzEg4VcQh+AHKiS7xaL8kGo/QTiNEGRog==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "debug": "2.6.9",
- "depd": "2.0.0",
- "destroy": "1.2.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "mime": "1.6.0",
- "ms": "2.1.3",
- "on-finished": "2.4.1",
- "range-parser": "~1.2.1",
- "statuses": "2.0.1"
- },
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 10"
}
},
- "node_modules/send/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/@tailwindcss/oxide-freebsd-x64": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.1.17.tgz",
+ "integrity": "sha512-hxGS81KskMxML9DXsaXT1H0DyA+ZBIbyG/sSAjWNe2EDl7TkPOBI42GBV3u38itzGUOmFfCzk1iAjDXds8Oh0g==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/send/node_modules/debug/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/send/node_modules/encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
+ "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.1.17.tgz",
+ "integrity": "sha512-k7jWk5E3ldAdw0cNglhjSgv501u7yrMf8oeZ0cElhxU6Y2o7f8yqelOp3fhf7evjIS6ujTI3U8pKUXV2I4iXHQ==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 0.8"
+ "node": ">= 10"
}
},
- "node_modules/serialize-javascript": {
- "version": "6.0.2",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz",
- "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==",
+ "node_modules/@tailwindcss/oxide-linux-arm64-gnu": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.1.17.tgz",
+ "integrity": "sha512-HVDOm/mxK6+TbARwdW17WrgDYEGzmoYayrCgmLEw7FxTPLcp/glBisuyWkFz/jb7ZfiAXAXUACfyItn+nTgsdQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "BSD-3-Clause",
- "dependencies": {
- "randombytes": "^2.1.0"
+ "license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
+ "node_modules/@tailwindcss/oxide-linux-arm64-musl": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.1.17.tgz",
+ "integrity": "sha512-HvZLfGr42i5anKtIeQzxdkw/wPqIbpeZqe7vd3V9vI3RQxe3xU1fLjss0TjyhxWcBaipk7NYwSrwTwK1hJARMg==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "accepts": "~1.3.4",
- "batch": "0.6.1",
- "debug": "2.6.9",
- "escape-html": "~1.0.3",
- "http-errors": "~1.6.2",
- "mime-types": "~2.1.17",
- "parseurl": "~1.3.2"
- },
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 10"
}
},
- "node_modules/serve-index/node_modules/debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
+ "node_modules/@tailwindcss/oxide-linux-x64-gnu": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.1.17.tgz",
+ "integrity": "sha512-M3XZuORCGB7VPOEDH+nzpJ21XPvK5PyjlkSFkFziNHGLc5d6g3di2McAAblmaSUNl8IOmzYwLx9NsE7bplNkwQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "ms": "2.0.0"
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 10"
}
},
- "node_modules/serve-index/node_modules/depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==",
+ "node_modules/@tailwindcss/oxide-linux-x64-musl": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.1.17.tgz",
+ "integrity": "sha512-k7f+pf9eXLEey4pBlw+8dgfJHY4PZ5qOUFDyNf7SI6lHjQ9Zt7+NcscjpwdCEbYi6FI5c2KDTDWyf2iHcCSyyQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">= 0.6"
+ "node": ">= 10"
}
},
- "node_modules/serve-index/node_modules/http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
+ "node_modules/@tailwindcss/oxide-wasm32-wasi": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.1.17.tgz",
+ "integrity": "sha512-cEytGqSSoy7zK4JRWiTCx43FsKP/zGr0CsuMawhH67ONlH+T79VteQeJQRO/X7L0juEUA8ZyuYikcRBf0vsxhg==",
+ "bundleDependencies": [
+ "@napi-rs/wasm-runtime",
+ "@emnapi/core",
+ "@emnapi/runtime",
+ "@tybys/wasm-util",
+ "@emnapi/wasi-threads",
+ "tslib"
+ ],
+ "cpu": [
+ "wasm32"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
"dependencies": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
+ "@emnapi/core": "^1.6.0",
+ "@emnapi/runtime": "^1.6.0",
+ "@emnapi/wasi-threads": "^1.1.0",
+ "@napi-rs/wasm-runtime": "^1.0.7",
+ "@tybys/wasm-util": "^0.10.1",
+ "tslib": "^2.4.0"
},
"engines": {
- "node": ">= 0.6"
+ "node": ">=14.0.0"
}
},
- "node_modules/serve-index/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/serve-index/node_modules/ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/serve-index/node_modules/setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/serve-index/node_modules/statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==",
+ "node_modules/@tailwindcss/oxide-win32-arm64-msvc": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.1.17.tgz",
+ "integrity": "sha512-JU5AHr7gKbZlOGvMdb4722/0aYbU+tN6lv1kONx0JK2cGsh7g148zVWLM0IKR3NeKLv+L90chBVYcJ8uJWbC9A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">= 0.6"
+ "node": ">= 10"
}
},
- "node_modules/serve-static": {
- "version": "1.16.2",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
- "integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
+ "node_modules/@tailwindcss/oxide-win32-x64-msvc": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.1.17.tgz",
+ "integrity": "sha512-SKWM4waLuqx0IH+FMDUw6R66Hu4OuTALFgnleKbqhgGU30DY20NORZMZUKgLRjQXNN2TLzKvh48QXTig4h4bGw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
"license": "MIT",
- "dependencies": {
- "encodeurl": "~2.0.0",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.19.0"
- },
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">= 0.8.0"
+ "node": ">= 10"
}
},
- "node_modules/set-function-length": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
- "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
+ "node_modules/@tailwindcss/vite": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.1.17.tgz",
+ "integrity": "sha512-4+9w8ZHOiGnpcGI6z1TVVfWaX/koK7fKeSYF3qlYg2xpBtbteP2ddBxiarL+HVgfSJGeK5RIxRQmKm4rTJJAwA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "define-data-property": "^1.1.4",
- "es-errors": "^1.3.0",
- "function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.4",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.2"
+ "@tailwindcss/node": "4.1.17",
+ "@tailwindcss/oxide": "4.1.17",
+ "tailwindcss": "4.1.17"
},
- "engines": {
- "node": ">= 0.4"
+ "peerDependencies": {
+ "vite": "^5.2.0 || ^6 || ^7"
}
},
- "node_modules/setimmediate": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz",
- "integrity": "sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==",
+ "node_modules/@types/estree": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
+ "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
"dev": true,
"license": "MIT"
},
- "node_modules/setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "dev": true,
- "license": "(MIT AND BSD-3-Clause)",
- "dependencies": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- },
- "bin": {
- "sha.js": "bin.js"
- }
- },
- "node_modules/shallow-clone": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz",
- "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==",
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "kind-of": "^6.0.2"
- },
"engines": {
"node": ">=8"
}
},
- "node_modules/shebang-command": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
- "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
"dev": true,
"license": "MIT",
"dependencies": {
- "shebang-regex": "^3.0.0"
+ "color-convert": "^2.0.1"
},
"engines": {
"node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
- "node_modules/shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "node_modules/asynckit": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz",
+ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
- }
+ "license": "MIT"
},
- "node_modules/shell-quote": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
- "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
+ "node_modules/axios": {
+ "version": "1.13.2",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.13.2.tgz",
+ "integrity": "sha512-VPk9ebNqPcy5lRGuSlKx752IlDatOjT9paPlm8A7yOuW2Fbvp4X3JznJtT4f0GzGLLiWE9W8onz51SqLYwzGaA==",
"dev": true,
"license": "MIT",
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
+ "dependencies": {
+ "follow-redirects": "^1.15.6",
+ "form-data": "^4.0.4",
+ "proxy-from-env": "^1.1.0"
}
},
- "node_modules/shellwords": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
- "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/side-channel": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
- "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
+ "node_modules/call-bind-apply-helpers": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "call-bind": "^1.0.7",
"es-errors": "^1.3.0",
- "get-intrinsic": "^1.2.4",
- "object-inspect": "^1.13.1"
+ "function-bind": "^1.1.2"
},
"engines": {
"node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
- }
- },
- "node_modules/signal-exit": {
- "version": "3.0.7",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
- "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=8"
}
},
- "node_modules/sockjs": {
- "version": "0.3.24",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
- "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "faye-websocket": "^0.11.3",
- "uuid": "^8.3.2",
- "websocket-driver": "^0.7.4"
- }
- },
- "node_modules/source-list-map": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz",
- "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
- "dev": true,
- "license": "BSD-3-Clause",
- "engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-js": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
- "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
- "dev": true,
- "license": "BSD-3-Clause",
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
"engines": {
- "node": ">=0.10.0"
- }
- },
- "node_modules/source-map-support": {
- "version": "0.5.21",
- "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
- "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
- "dev": true,
- "license": "MIT",
- "dependencies": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
}
},
- "node_modules/spdy": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
- "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
+ "node_modules/chalk/node_modules/supports-color": {
+ "version": "7.2.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
+ "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "debug": "^4.1.0",
- "handle-thing": "^2.0.0",
- "http-deceiver": "^1.2.7",
- "select-hose": "^2.0.0",
- "spdy-transport": "^3.0.0"
+ "has-flag": "^4.0.0"
},
"engines": {
- "node": ">=6.0.0"
+ "node": ">=8"
}
},
- "node_modules/spdy-transport": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz",
- "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==",
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"dependencies": {
- "debug": "^4.1.0",
- "detect-node": "^2.0.4",
- "hpack.js": "^2.1.6",
- "obuf": "^1.1.2",
- "readable-stream": "^3.0.6",
- "wbuf": "^1.7.3"
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
}
},
- "node_modules/spdy-transport/node_modules/readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
+ "color-name": "~1.1.4"
},
"engines": {
- "node": ">= 6"
+ "node": ">=7.0.0"
}
},
- "node_modules/stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==",
- "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility",
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
"dev": true,
"license": "MIT"
},
- "node_modules/statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
+ "node_modules/combined-stream": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz",
+ "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "delayed-stream": "~1.0.0"
+ },
"engines": {
"node": ">= 0.8"
}
},
- "node_modules/std-env": {
- "version": "3.7.0",
- "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz",
- "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/stream-browserify": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz",
- "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==",
+ "node_modules/concurrently": {
+ "version": "9.2.1",
+ "resolved": "https://registry.npmjs.org/concurrently/-/concurrently-9.2.1.tgz",
+ "integrity": "sha512-fsfrO0MxV64Znoy8/l1vVIjjHa29SZyyqPgQBwhiDcaW8wJc2W3XWVOGx4M3oJBnv/zdUZIIp1gDeS98GzP8Ng==",
"dev": true,
"license": "MIT",
"dependencies": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
+ "chalk": "4.1.2",
+ "rxjs": "7.8.2",
+ "shell-quote": "1.8.3",
+ "supports-color": "8.1.1",
+ "tree-kill": "1.2.2",
+ "yargs": "17.7.2"
+ },
+ "bin": {
+ "conc": "dist/bin/concurrently.js",
+ "concurrently": "dist/bin/concurrently.js"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/open-cli-tools/concurrently?sponsor=1"
}
},
- "node_modules/stream-http": {
- "version": "2.8.3",
- "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz",
- "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==",
+ "node_modules/daisyui": {
+ "version": "5.5.14",
+ "resolved": "https://registry.npmjs.org/daisyui/-/daisyui-5.5.14.tgz",
+ "integrity": "sha512-L47rvw7I7hK68TA97VB8Ee0woHew+/ohR6Lx6Ah/krfISOqcG4My7poNpX5Mo5/ytMxiR40fEaz6njzDi7cuSg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
+ "funding": {
+ "url": "https://github.com/saadeghi/daisyui?sponsor=1"
}
},
- "node_modules/string_decoder": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz",
- "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==",
+ "node_modules/delayed-stream": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz",
+ "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "safe-buffer": "~5.2.0"
+ "engines": {
+ "node": ">=0.4.0"
}
},
- "node_modules/string-width": {
- "version": "4.2.3",
- "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
- "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "node_modules/detect-libc": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
+ "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"dev": true,
- "license": "MIT",
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
+ "license": "Apache-2.0",
"engines": {
"node": ">=8"
}
},
- "node_modules/strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "node_modules/dunder-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "ansi-regex": "^5.0.1"
+ "call-bind-apply-helpers": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.2.0"
},
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
}
},
- "node_modules/strip-final-newline": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
- "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=6"
- }
+ "license": "MIT"
},
- "node_modules/style-loader": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz",
- "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==",
+ "node_modules/enhanced-resolve": {
+ "version": "5.18.3",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz",
+ "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==",
"dev": true,
"license": "MIT",
"dependencies": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
+ "graceful-fs": "^4.2.4",
+ "tapable": "^2.2.0"
},
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "node": ">=10.13.0"
}
},
- "node_modules/style-loader/node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "node_modules/es-define-property": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">= 0.4"
}
},
- "node_modules/stylehacks": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz",
- "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==",
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "browserslist": "^4.21.4",
- "postcss-selector-parser": "^6.0.4"
- },
"engines": {
- "node": "^10 || ^12 || >=14.0"
- },
- "peerDependencies": {
- "postcss": "^8.2.15"
+ "node": ">= 0.4"
}
},
- "node_modules/supports-color": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz",
- "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==",
+ "node_modules/es-object-atoms": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "has-flag": "^4.0.0"
+ "es-errors": "^1.3.0"
},
"engines": {
- "node": ">=8"
+ "node": ">= 0.4"
}
},
- "node_modules/supports-preserve-symlinks-flag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
- "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "node_modules/es-set-tostringtag": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz",
+ "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==",
"dev": true,
"license": "MIT",
+ "dependencies": {
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.6",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.2"
+ },
"engines": {
"node": ">= 0.4"
- },
- "funding": {
- "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/svgo": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
- "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
+ "node_modules/esbuild": {
+ "version": "0.25.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz",
+ "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==",
"dev": true,
+ "hasInstallScript": true,
"license": "MIT",
- "dependencies": {
- "@trysound/sax": "0.2.0",
- "commander": "^7.2.0",
- "css-select": "^4.1.3",
- "css-tree": "^1.1.3",
- "csso": "^4.2.0",
- "picocolors": "^1.0.0",
- "stable": "^0.1.8"
- },
"bin": {
- "svgo": "bin/svgo"
+ "esbuild": "bin/esbuild"
},
"engines": {
- "node": ">=10.13.0"
+ "node": ">=18"
+ },
+ "optionalDependencies": {
+ "@esbuild/aix-ppc64": "0.25.12",
+ "@esbuild/android-arm": "0.25.12",
+ "@esbuild/android-arm64": "0.25.12",
+ "@esbuild/android-x64": "0.25.12",
+ "@esbuild/darwin-arm64": "0.25.12",
+ "@esbuild/darwin-x64": "0.25.12",
+ "@esbuild/freebsd-arm64": "0.25.12",
+ "@esbuild/freebsd-x64": "0.25.12",
+ "@esbuild/linux-arm": "0.25.12",
+ "@esbuild/linux-arm64": "0.25.12",
+ "@esbuild/linux-ia32": "0.25.12",
+ "@esbuild/linux-loong64": "0.25.12",
+ "@esbuild/linux-mips64el": "0.25.12",
+ "@esbuild/linux-ppc64": "0.25.12",
+ "@esbuild/linux-riscv64": "0.25.12",
+ "@esbuild/linux-s390x": "0.25.12",
+ "@esbuild/linux-x64": "0.25.12",
+ "@esbuild/netbsd-arm64": "0.25.12",
+ "@esbuild/netbsd-x64": "0.25.12",
+ "@esbuild/openbsd-arm64": "0.25.12",
+ "@esbuild/openbsd-x64": "0.25.12",
+ "@esbuild/openharmony-arm64": "0.25.12",
+ "@esbuild/sunos-x64": "0.25.12",
+ "@esbuild/win32-arm64": "0.25.12",
+ "@esbuild/win32-ia32": "0.25.12",
+ "@esbuild/win32-x64": "0.25.12"
}
},
- "node_modules/tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "node_modules/escalade": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz",
+ "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==",
"dev": true,
"license": "MIT",
"engines": {
"node": ">=6"
}
},
- "node_modules/terser": {
- "version": "5.32.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.32.0.tgz",
- "integrity": "sha512-v3Gtw3IzpBJ0ugkxEX8U0W6+TnPKRRCWGh1jC/iM/e3Ki5+qvO1L1EAZ56bZasc64aXHwRHNIQEzm6//i5cemQ==",
- "dev": true,
- "license": "BSD-2-Clause",
- "dependencies": {
- "@jridgewell/source-map": "^0.3.3",
- "acorn": "^8.8.2",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "bin": {
- "terser": "bin/terser"
- },
- "engines": {
- "node": ">=10"
- }
- },
- "node_modules/terser-webpack-plugin": {
- "version": "5.3.10",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz",
- "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==",
+ "node_modules/fdir": {
+ "version": "6.5.0",
+ "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz",
+ "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@jridgewell/trace-mapping": "^0.3.20",
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.1",
- "terser": "^5.26.0"
- },
"engines": {
- "node": ">= 10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">=12.0.0"
},
"peerDependencies": {
- "webpack": "^5.1.0"
+ "picomatch": "^3 || ^4"
},
"peerDependenciesMeta": {
- "@swc/core": {
- "optional": true
- },
- "esbuild": {
- "optional": true
- },
- "uglify-js": {
+ "picomatch": {
"optional": true
}
}
},
- "node_modules/terser-webpack-plugin/node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "node_modules/follow-redirects": {
+ "version": "1.15.11",
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
"dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/RubenVerborgh"
+ }
+ ],
"license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- },
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=4.0"
},
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "peerDependenciesMeta": {
+ "debug": {
+ "optional": true
+ }
}
},
- "node_modules/terser/node_modules/commander": {
- "version": "2.20.3",
- "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
- "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/thunky": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
- "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/timers-browserify": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
- "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
+ "node_modules/form-data": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz",
+ "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "setimmediate": "^1.0.4"
+ "asynckit": "^0.4.0",
+ "combined-stream": "^1.0.8",
+ "es-set-tostringtag": "^2.1.0",
+ "hasown": "^2.0.2",
+ "mime-types": "^2.1.12"
},
"engines": {
- "node": ">=0.6.0"
+ "node": ">= 6"
}
},
- "node_modules/to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/to-fast-properties": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
- "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "node_modules/fsevents": {
+ "version": "2.3.3",
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
"dev": true,
+ "hasInstallScript": true,
"license": "MIT",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">=4"
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
- "node_modules/to-regex-range": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
- "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "is-number": "^7.0.0"
- },
- "engines": {
- "node": ">=8.0"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
"dev": true,
- "license": "MIT",
+ "license": "ISC",
"engines": {
- "node": ">=0.6"
+ "node": "6.* || 8.* || >= 10.*"
}
},
- "node_modules/tslib": {
- "version": "2.7.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz",
- "integrity": "sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==",
- "dev": true,
- "license": "0BSD"
- },
- "node_modules/tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
+ "node_modules/get-intrinsic": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
+ "call-bind-apply-helpers": "^1.0.2",
+ "es-define-property": "^1.0.1",
+ "es-errors": "^1.3.0",
+ "es-object-atoms": "^1.1.1",
+ "function-bind": "^1.1.2",
+ "get-proto": "^1.0.1",
+ "gopd": "^1.2.0",
+ "has-symbols": "^1.1.0",
+ "hasown": "^2.0.2",
+ "math-intrinsics": "^1.1.0"
},
"engines": {
- "node": ">= 0.6"
- }
- },
- "node_modules/undici-types": {
- "version": "6.19.8",
- "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz",
- "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/unicode-canonical-property-names-ecmascript": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz",
- "integrity": "sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/unicode-match-property-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz",
- "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==",
+ "node_modules/get-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
+ "dunder-proto": "^1.0.1",
+ "es-object-atoms": "^1.0.0"
},
"engines": {
- "node": ">=4"
+ "node": ">= 0.4"
}
},
- "node_modules/unicode-match-property-value-ecmascript": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz",
- "integrity": "sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==",
+ "node_modules/gopd": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=4"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/unicode-property-aliases-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz",
- "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==",
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
"dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=4"
- }
+ "license": "ISC"
},
- "node_modules/universalify": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz",
- "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==",
+ "node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 10.0.0"
+ "node": ">=8"
}
},
- "node_modules/unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
+ "node_modules/has-symbols": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">= 0.8"
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/update-browserslist-db": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz",
- "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==",
+ "node_modules/has-tostringtag": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dev": true,
- "funding": [
- {
- "type": "opencollective",
- "url": "https://opencollective.com/browserslist"
- },
- {
- "type": "tidelift",
- "url": "https://tidelift.com/funding/github/npm/browserslist"
- },
- {
- "type": "github",
- "url": "https://github.com/sponsors/ai"
- }
- ],
"license": "MIT",
"dependencies": {
- "escalade": "^3.1.2",
- "picocolors": "^1.0.1"
+ "has-symbols": "^1.0.3"
},
- "bin": {
- "update-browserslist-db": "cli.js"
+ "engines": {
+ "node": ">= 0.4"
},
- "peerDependencies": {
- "browserslist": ">= 4.21.0"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "node_modules/hasown": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dev": true,
- "license": "BSD-2-Clause",
+ "license": "MIT",
"dependencies": {
- "punycode": "^2.1.0"
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
- "node_modules/uri-js/node_modules/punycode": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz",
- "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==",
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
"dev": true,
"license": "MIT",
"engines": {
- "node": ">=6"
+ "node": ">=8"
}
},
- "node_modules/url": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.4.tgz",
- "integrity": "sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==",
+ "node_modules/jiti": {
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.6.1.tgz",
+ "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "punycode": "^1.4.1",
- "qs": "^6.12.3"
- },
- "engines": {
- "node": ">= 0.4"
+ "bin": {
+ "jiti": "lib/jiti-cli.mjs"
}
},
- "node_modules/util": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
+ "node_modules/laravel-vite-plugin": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/laravel-vite-plugin/-/laravel-vite-plugin-2.0.1.tgz",
+ "integrity": "sha512-zQuvzWfUKQu9oNVi1o0RZAJCwhGsdhx4NEOyrVQwJHaWDseGP9tl7XUPLY2T8Cj6+IrZ6lmyxlR1KC8unf3RLA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "inherits": "2.0.3"
+ "picocolors": "^1.0.0",
+ "vite-plugin-full-reload": "^1.1.0"
+ },
+ "bin": {
+ "clean-orphaned-assets": "bin/clean.js"
+ },
+ "engines": {
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "peerDependencies": {
+ "vite": "^7.0.0"
}
},
- "node_modules/util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/util/node_modules/inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==",
+ "node_modules/lightningcss": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.30.2.tgz",
+ "integrity": "sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==",
"dev": true,
- "license": "ISC"
- },
- "node_modules/utils-merge": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
- "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
+ "license": "MPL-2.0",
+ "dependencies": {
+ "detect-libc": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
+ },
+ "optionalDependencies": {
+ "lightningcss-android-arm64": "1.30.2",
+ "lightningcss-darwin-arm64": "1.30.2",
+ "lightningcss-darwin-x64": "1.30.2",
+ "lightningcss-freebsd-x64": "1.30.2",
+ "lightningcss-linux-arm-gnueabihf": "1.30.2",
+ "lightningcss-linux-arm64-gnu": "1.30.2",
+ "lightningcss-linux-arm64-musl": "1.30.2",
+ "lightningcss-linux-x64-gnu": "1.30.2",
+ "lightningcss-linux-x64-musl": "1.30.2",
+ "lightningcss-win32-arm64-msvc": "1.30.2",
+ "lightningcss-win32-x64-msvc": "1.30.2"
+ }
+ },
+ "node_modules/lightningcss-android-arm64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.30.2.tgz",
+ "integrity": "sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT",
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "android"
+ ],
"engines": {
- "node": ">= 0.4.0"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "node_modules/lightningcss-darwin-arm64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.30.2.tgz",
+ "integrity": "sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT",
- "bin": {
- "uuid": "dist/bin/uuid"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
+ "node_modules/lightningcss-darwin-x64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.30.2.tgz",
+ "integrity": "sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
"engines": {
- "node": ">= 0.8"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vm-browserify": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz",
- "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vue": {
- "version": "2.7.16",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.16.tgz",
- "integrity": "sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==",
- "deprecated": "Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.",
+ "node_modules/lightningcss-freebsd-x64": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.30.2.tgz",
+ "integrity": "sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@vue/compiler-sfc": "2.7.16",
- "csstype": "^3.1.0"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vue-hot-reload-api": {
- "version": "2.3.4",
- "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz",
- "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==",
- "dev": true,
- "license": "MIT"
- },
- "node_modules/vue-loader": {
- "version": "15.11.1",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.11.1.tgz",
- "integrity": "sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==",
+ "node_modules/lightningcss-linux-arm-gnueabihf": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.30.2.tgz",
+ "integrity": "sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==",
+ "cpu": [
+ "arm"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "@vue/component-compiler-utils": "^3.1.0",
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.1.0",
- "vue-hot-reload-api": "^2.3.0",
- "vue-style-loader": "^4.1.0"
- },
- "peerDependencies": {
- "css-loader": "*",
- "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
},
- "peerDependenciesMeta": {
- "cache-loader": {
- "optional": true
- },
- "prettier": {
- "optional": true
- },
- "vue-template-compiler": {
- "optional": true
- }
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vue-loader/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+ "node_modules/lightningcss-linux-arm64-gnu": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.30.2.tgz",
+ "integrity": "sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
},
- "bin": {
- "json5": "lib/cli.js"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vue-loader/node_modules/loader-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
- "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+ "node_modules/lightningcss-linux-arm64-musl": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.30.2.tgz",
+ "integrity": "sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- },
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
"engines": {
- "node": ">=4.0.0"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vue-style-loader": {
- "version": "4.1.3",
- "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz",
- "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==",
+ "node_modules/lightningcss-linux-x64-gnu": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.30.2.tgz",
+ "integrity": "sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.0.2"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vue-style-loader/node_modules/json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
+ "node_modules/lightningcss-linux-x64-musl": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.30.2.tgz",
+ "integrity": "sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "minimist": "^1.2.0"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
},
- "bin": {
- "json5": "lib/cli.js"
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vue-style-loader/node_modules/loader-utils": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.2.tgz",
- "integrity": "sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==",
+ "node_modules/lightningcss-win32-arm64-msvc": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.30.2.tgz",
+ "integrity": "sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==",
+ "cpu": [
+ "arm64"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- },
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
"engines": {
- "node": ">=4.0.0"
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vue-template-compiler": {
- "version": "2.7.16",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz",
- "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==",
+ "node_modules/lightningcss-win32-x64-msvc": {
+ "version": "1.30.2",
+ "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.30.2.tgz",
+ "integrity": "sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==",
+ "cpu": [
+ "x64"
+ ],
"dev": true,
- "license": "MIT",
- "dependencies": {
- "de-indent": "^1.0.2",
- "he": "^1.2.0"
+ "license": "MPL-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">= 12.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/parcel"
}
},
- "node_modules/vue-template-es2015-compiler": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz",
- "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==",
+ "node_modules/lucide": {
+ "version": "0.562.0",
+ "resolved": "https://registry.npmjs.org/lucide/-/lucide-0.562.0.tgz",
+ "integrity": "sha512-k1Fb8ZMnRQovWRlea7Jr0b9UKA29IM7/cu79+mJrhVohvA2YC/Ti3Sk+G+h/SIu3IlrKT4RAbWMHUBBQd1O6XA==",
"dev": true,
- "license": "MIT"
+ "license": "ISC"
},
- "node_modules/watchpack": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz",
- "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==",
+ "node_modules/luxon": {
+ "version": "3.7.2",
+ "resolved": "https://registry.npmjs.org/luxon/-/luxon-3.7.2.tgz",
+ "integrity": "sha512-vtEhXh/gNjI9Yg1u4jX/0YVPMvxzHuGgCm6tC5kZyb08yjGWGnqAjGJvcXbqQR2P3MyMEFnRbpcdFS6PBcLqew==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- },
"engines": {
- "node": ">=10.13.0"
+ "node": ">=12"
}
},
- "node_modules/wbuf": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
- "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
+ "node_modules/magic-string": {
+ "version": "0.30.21",
+ "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz",
+ "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "minimalistic-assert": "^1.0.0"
+ "@jridgewell/sourcemap-codec": "^1.5.5"
}
},
- "node_modules/webpack": {
- "version": "5.94.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz",
- "integrity": "sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==",
+ "node_modules/math-intrinsics": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/estree": "^1.0.5",
- "@webassemblyjs/ast": "^1.12.1",
- "@webassemblyjs/wasm-edit": "^1.12.1",
- "@webassemblyjs/wasm-parser": "^1.12.1",
- "acorn": "^8.7.1",
- "acorn-import-attributes": "^1.9.5",
- "browserslist": "^4.21.10",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.17.1",
- "es-module-lexer": "^1.2.1",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.11",
- "json-parse-even-better-errors": "^2.3.1",
- "loader-runner": "^4.2.0",
- "mime-types": "^2.1.27",
- "neo-async": "^2.6.2",
- "schema-utils": "^3.2.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.3.10",
- "watchpack": "^2.4.1",
- "webpack-sources": "^3.2.3"
- },
- "bin": {
- "webpack": "bin/webpack.js"
- },
"engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependenciesMeta": {
- "webpack-cli": {
- "optional": true
- }
+ "node": ">= 0.4"
}
},
- "node_modules/webpack-cli": {
- "version": "4.10.0",
- "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.10.0.tgz",
- "integrity": "sha512-NLhDfH/h4O6UOy+0LSso42xvYypClINuMNBVVzX4vX98TmTaTUxwRbXdhucbFMd2qLaCTcLq/PdYrvi8onw90w==",
+ "node_modules/mime-db": {
+ "version": "1.52.0",
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@discoveryjs/json-ext": "^0.5.0",
- "@webpack-cli/configtest": "^1.2.0",
- "@webpack-cli/info": "^1.5.0",
- "@webpack-cli/serve": "^1.7.0",
- "colorette": "^2.0.14",
- "commander": "^7.0.0",
- "cross-spawn": "^7.0.3",
- "fastest-levenshtein": "^1.0.12",
- "import-local": "^3.0.2",
- "interpret": "^2.2.0",
- "rechoir": "^0.7.0",
- "webpack-merge": "^5.7.3"
- },
- "bin": {
- "webpack-cli": "bin/cli.js"
- },
"engines": {
- "node": ">=10.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "4.x.x || 5.x.x"
- },
- "peerDependenciesMeta": {
- "@webpack-cli/generators": {
- "optional": true
- },
- "@webpack-cli/migrate": {
- "optional": true
- },
- "webpack-bundle-analyzer": {
- "optional": true
- },
- "webpack-dev-server": {
- "optional": true
- }
+ "node": ">= 0.6"
}
},
- "node_modules/webpack-dev-middleware": {
- "version": "5.3.4",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.4.tgz",
- "integrity": "sha512-BVdTqhhs+0IfoeAf7EoH5WE+exCmqGerHfDM0IL096Px60Tq2Mn9MAbnaGUe6HiMa41KMCYF19gyzZmBcq/o4Q==",
+ "node_modules/mime-types": {
+ "version": "2.1.35",
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
"dev": true,
"license": "MIT",
"dependencies": {
- "colorette": "^2.0.10",
- "memfs": "^3.4.3",
- "mime-types": "^2.1.31",
- "range-parser": "^1.2.1",
- "schema-utils": "^4.0.0"
+ "mime-db": "1.52.0"
},
"engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">= 0.6"
+ }
+ },
+ "node_modules/nanoid": {
+ "version": "3.3.11",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz",
+ "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "license": "MIT",
+ "bin": {
+ "nanoid": "bin/nanoid.cjs"
},
- "peerDependencies": {
- "webpack": "^4.0.0 || ^5.0.0"
+ "engines": {
+ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1"
}
},
- "node_modules/webpack-dev-middleware/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "node_modules/picocolors": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz",
+ "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==",
+ "dev": true,
+ "license": "ISC"
+ },
+ "node_modules/picomatch": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz",
+ "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
+ "engines": {
+ "node": ">=12"
},
"funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "node_modules/postcss": {
+ "version": "8.5.6",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz",
+ "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==",
"dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/postcss/"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"license": "MIT",
"dependencies": {
- "fast-deep-equal": "^3.1.3"
+ "nanoid": "^3.3.11",
+ "picocolors": "^1.1.1",
+ "source-map-js": "^1.2.1"
},
- "peerDependencies": {
- "ajv": "^8.8.2"
+ "engines": {
+ "node": "^10 || ^12 || >=14"
}
},
- "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "node_modules/proxy-from-env": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
+ "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==",
"dev": true,
"license": "MIT"
},
- "node_modules/webpack-dev-middleware/node_modules/schema-utils": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
- "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.9.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.1.0"
- },
"engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">=0.10.0"
}
},
- "node_modules/webpack-dev-server": {
- "version": "4.15.2",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz",
- "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==",
+ "node_modules/rollup": {
+ "version": "4.53.3",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.53.3.tgz",
+ "integrity": "sha512-w8GmOxZfBmKknvdXU1sdM9NHcoQejwF/4mNgj2JuEEdRaHwwF12K7e9eXn1nLZ07ad+du76mkVsyeb2rKGllsA==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/bonjour": "^3.5.9",
- "@types/connect-history-api-fallback": "^1.3.5",
- "@types/express": "^4.17.13",
- "@types/serve-index": "^1.9.1",
- "@types/serve-static": "^1.13.10",
- "@types/sockjs": "^0.3.33",
- "@types/ws": "^8.5.5",
- "ansi-html-community": "^0.0.8",
- "bonjour-service": "^1.0.11",
- "chokidar": "^3.5.3",
- "colorette": "^2.0.10",
- "compression": "^1.7.4",
- "connect-history-api-fallback": "^2.0.0",
- "default-gateway": "^6.0.3",
- "express": "^4.17.3",
- "graceful-fs": "^4.2.6",
- "html-entities": "^2.3.2",
- "http-proxy-middleware": "^2.0.3",
- "ipaddr.js": "^2.0.1",
- "launch-editor": "^2.6.0",
- "open": "^8.0.9",
- "p-retry": "^4.5.0",
- "rimraf": "^3.0.2",
- "schema-utils": "^4.0.0",
- "selfsigned": "^2.1.1",
- "serve-index": "^1.9.1",
- "sockjs": "^0.3.24",
- "spdy": "^4.0.2",
- "webpack-dev-middleware": "^5.3.4",
- "ws": "^8.13.0"
+ "@types/estree": "1.0.8"
},
"bin": {
- "webpack-dev-server": "bin/webpack-dev-server.js"
+ "rollup": "dist/bin/rollup"
},
"engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
- },
- "peerDependencies": {
- "webpack": "^4.37.0 || ^5.0.0"
+ "node": ">=18.0.0",
+ "npm": ">=8.0.0"
},
- "peerDependenciesMeta": {
- "webpack": {
- "optional": true
- },
- "webpack-cli": {
- "optional": true
- }
+ "optionalDependencies": {
+ "@rollup/rollup-android-arm-eabi": "4.53.3",
+ "@rollup/rollup-android-arm64": "4.53.3",
+ "@rollup/rollup-darwin-arm64": "4.53.3",
+ "@rollup/rollup-darwin-x64": "4.53.3",
+ "@rollup/rollup-freebsd-arm64": "4.53.3",
+ "@rollup/rollup-freebsd-x64": "4.53.3",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.53.3",
+ "@rollup/rollup-linux-arm-musleabihf": "4.53.3",
+ "@rollup/rollup-linux-arm64-gnu": "4.53.3",
+ "@rollup/rollup-linux-arm64-musl": "4.53.3",
+ "@rollup/rollup-linux-loong64-gnu": "4.53.3",
+ "@rollup/rollup-linux-ppc64-gnu": "4.53.3",
+ "@rollup/rollup-linux-riscv64-gnu": "4.53.3",
+ "@rollup/rollup-linux-riscv64-musl": "4.53.3",
+ "@rollup/rollup-linux-s390x-gnu": "4.53.3",
+ "@rollup/rollup-linux-x64-gnu": "4.53.3",
+ "@rollup/rollup-linux-x64-musl": "4.53.3",
+ "@rollup/rollup-openharmony-arm64": "4.53.3",
+ "@rollup/rollup-win32-arm64-msvc": "4.53.3",
+ "@rollup/rollup-win32-ia32-msvc": "4.53.3",
+ "@rollup/rollup-win32-x64-gnu": "4.53.3",
+ "@rollup/rollup-win32-x64-msvc": "4.53.3",
+ "fsevents": "~2.3.2"
}
},
- "node_modules/webpack-dev-server/node_modules/ajv": {
- "version": "8.17.1",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
- "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
+ "node_modules/rxjs": {
+ "version": "7.8.2",
+ "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz",
+ "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==",
"dev": true,
- "license": "MIT",
+ "license": "Apache-2.0",
"dependencies": {
- "fast-deep-equal": "^3.1.3",
- "fast-uri": "^3.0.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2"
- },
- "funding": {
- "type": "github",
- "url": "https://github.com/sponsors/epoberezkin"
+ "tslib": "^2.1.0"
}
},
- "node_modules/webpack-dev-server/node_modules/ajv-keywords": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz",
- "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==",
+ "node_modules/shell-quote": {
+ "version": "1.8.3",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.3.tgz",
+ "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "fast-deep-equal": "^3.1.3"
+ "engines": {
+ "node": ">= 0.4"
},
- "peerDependencies": {
- "ajv": "^8.8.2"
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/webpack-dev-server/node_modules/json-schema-traverse": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
- "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
+ "node_modules/source-map-js": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz",
+ "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==",
"dev": true,
- "license": "MIT"
+ "license": "BSD-3-Clause",
+ "engines": {
+ "node": ">=0.10.0"
+ }
},
- "node_modules/webpack-dev-server/node_modules/schema-utils": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz",
- "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==",
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.9.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.1.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"engines": {
- "node": ">= 12.13.0"
- },
- "funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "node": ">=8"
}
},
- "node_modules/webpack-merge": {
- "version": "5.10.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz",
- "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==",
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
"dev": true,
"license": "MIT",
"dependencies": {
- "clone-deep": "^4.0.1",
- "flat": "^5.0.2",
- "wildcard": "^2.0.0"
+ "ansi-regex": "^5.0.1"
},
"engines": {
- "node": ">=10.0.0"
+ "node": ">=8"
}
},
- "node_modules/webpack-notifier": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz",
- "integrity": "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==",
+ "node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
"dev": true,
- "license": "ISC",
+ "license": "MIT",
"dependencies": {
- "node-notifier": "^9.0.0",
- "strip-ansi": "^6.0.0"
+ "has-flag": "^4.0.0"
},
- "peerDependencies": {
- "@types/webpack": ">4.41.31"
+ "engines": {
+ "node": ">=10"
},
- "peerDependenciesMeta": {
- "@types/webpack": {
- "optional": true
- }
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
}
},
- "node_modules/webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
+ "node_modules/tabulator-tables": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/tabulator-tables/-/tabulator-tables-6.3.1.tgz",
+ "integrity": "sha512-qFW7kfadtcaISQIibKAIy0f3eeIXUVi8242Vly1iJfMD79kfEGzfczNuPBN/80hDxHzQJXYbmJ8VipI40hQtfA==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tailwindcss": {
+ "version": "4.1.17",
+ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.1.17.tgz",
+ "integrity": "sha512-j9Ee2YjuQqYT9bbRTfTZht9W/ytp5H+jJpZKiYdP/bpnXARAuELt9ofP0lPnmHjbga7SNQIxdTAXCmtKVYjN+Q==",
+ "dev": true,
+ "license": "MIT"
+ },
+ "node_modules/tapable": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz",
+ "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==",
"dev": true,
"license": "MIT",
- "dependencies": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/webpack"
}
},
- "node_modules/webpack/node_modules/schema-utils": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz",
- "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==",
+ "node_modules/tinyglobby": {
+ "version": "0.2.15",
+ "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
+ "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==",
"dev": true,
"license": "MIT",
"dependencies": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3"
},
"engines": {
- "node": ">= 10.13.0"
+ "node": ">=12.0.0"
},
"funding": {
- "type": "opencollective",
- "url": "https://opencollective.com/webpack"
+ "url": "https://github.com/sponsors/SuperchupuDev"
}
},
- "node_modules/webpack/node_modules/webpack-sources": {
- "version": "3.2.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
- "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
+ "node_modules/tree-kill": {
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
"dev": true,
"license": "MIT",
- "engines": {
- "node": ">=10.13.0"
+ "bin": {
+ "tree-kill": "cli.js"
}
},
- "node_modules/webpackbar": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz",
- "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==",
+ "node_modules/tslib": {
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz",
+ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==",
+ "dev": true,
+ "license": "0BSD"
+ },
+ "node_modules/vite": {
+ "version": "7.2.4",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-7.2.4.tgz",
+ "integrity": "sha512-NL8jTlbo0Tn4dUEXEsUg8KeyG/Lkmc4Fnzb8JXN/Ykm9G4HNImjtABMJgkQoVjOBN/j2WAwDTRytdqJbZsah7w==",
"dev": true,
"license": "MIT",
"dependencies": {
- "chalk": "^4.1.0",
- "consola": "^2.15.3",
- "pretty-time": "^1.1.0",
- "std-env": "^3.0.1"
+ "esbuild": "^0.25.0",
+ "fdir": "^6.5.0",
+ "picomatch": "^4.0.3",
+ "postcss": "^8.5.6",
+ "rollup": "^4.43.0",
+ "tinyglobby": "^0.2.15"
+ },
+ "bin": {
+ "vite": "bin/vite.js"
},
"engines": {
- "node": ">=12"
+ "node": "^20.19.0 || >=22.12.0"
+ },
+ "funding": {
+ "url": "https://github.com/vitejs/vite?sponsor=1"
+ },
+ "optionalDependencies": {
+ "fsevents": "~2.3.3"
},
"peerDependencies": {
- "webpack": "3 || 4 || 5"
+ "@types/node": "^20.19.0 || >=22.12.0",
+ "jiti": ">=1.21.0",
+ "less": "^4.0.0",
+ "lightningcss": "^1.21.0",
+ "sass": "^1.70.0",
+ "sass-embedded": "^1.70.0",
+ "stylus": ">=0.54.8",
+ "sugarss": "^5.0.0",
+ "terser": "^5.16.0",
+ "tsx": "^4.8.1",
+ "yaml": "^2.4.2"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "jiti": {
+ "optional": true
+ },
+ "less": {
+ "optional": true
+ },
+ "lightningcss": {
+ "optional": true
+ },
+ "sass": {
+ "optional": true
+ },
+ "sass-embedded": {
+ "optional": true
+ },
+ "stylus": {
+ "optional": true
+ },
+ "sugarss": {
+ "optional": true
+ },
+ "terser": {
+ "optional": true
+ },
+ "tsx": {
+ "optional": true
+ },
+ "yaml": {
+ "optional": true
+ }
}
},
- "node_modules/websocket-driver": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
- "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
+ "node_modules/vite-plugin-full-reload": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/vite-plugin-full-reload/-/vite-plugin-full-reload-1.2.0.tgz",
+ "integrity": "sha512-kz18NW79x0IHbxRSHm0jttP4zoO9P9gXh+n6UTwlNKnviTTEpOlum6oS9SmecrTtSr+muHEn5TUuC75UovQzcA==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"dependencies": {
- "http-parser-js": ">=0.5.1",
- "safe-buffer": ">=5.1.0",
- "websocket-extensions": ">=0.1.1"
- },
- "engines": {
- "node": ">=0.8.0"
+ "picocolors": "^1.0.0",
+ "picomatch": "^2.3.1"
}
},
- "node_modules/websocket-extensions": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz",
- "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==",
+ "node_modules/vite-plugin-full-reload/node_modules/picomatch": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
"dev": true,
- "license": "Apache-2.0",
+ "license": "MIT",
"engines": {
- "node": ">=0.8.0"
- }
- },
- "node_modules/which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "dev": true,
- "license": "ISC",
- "dependencies": {
- "isexe": "^2.0.0"
- },
- "bin": {
- "node-which": "bin/node-which"
+ "node": ">=8.6"
},
- "engines": {
- "node": ">= 8"
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
}
},
- "node_modules/wildcard": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
- "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==",
- "dev": true,
- "license": "MIT"
- },
"node_modules/wrap-ansi": {
"version": "7.0.0",
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
@@ -10440,45 +2371,6 @@
"url": "https://github.com/chalk/wrap-ansi?sponsor=1"
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/ws": {
- "version": "8.18.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz",
- "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=10.0.0"
- },
- "peerDependencies": {
- "bufferutil": "^4.0.1",
- "utf-8-validate": ">=5.0.2"
- },
- "peerDependenciesMeta": {
- "bufferutil": {
- "optional": true
- },
- "utf-8-validate": {
- "optional": true
- }
- }
- },
- "node_modules/xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
- "dev": true,
- "license": "MIT",
- "engines": {
- "node": ">=0.4"
- }
- },
"node_modules/y18n": {
"version": "5.0.8",
"resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
@@ -10489,23 +2381,6 @@
"node": ">=10"
}
},
- "node_modules/yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
- "dev": true,
- "license": "ISC"
- },
- "node_modules/yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==",
- "dev": true,
- "license": "ISC",
- "engines": {
- "node": ">= 6"
- }
- },
"node_modules/yargs": {
"version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
diff --git a/package.json b/package.json
index c47b3f7df..d3a84887e 100644
--- a/package.json
+++ b/package.json
@@ -1,37 +1,21 @@
{
+ "$schema": "https://www.schemastore.org/package.json",
"private": true,
+ "type": "module",
"scripts": {
- "dev": "npm run development",
- "development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
- "watch": "npm run development -- --watch",
- "watch-poll": "npm run watch -- --watch-poll",
- "hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
- "prod": "npm run production",
- "production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --config=node_modules/laravel-mix/setup/webpack.config.js"
+ "build": "vite build",
+ "dev": "vite"
},
"devDependencies": {
- "@fortawesome/fontawesome-svg-core": "^6.4.0",
- "@fortawesome/free-brands-svg-icons": "^6.4.0",
- "@fortawesome/free-solid-svg-icons": "^6.4.0",
- "bootstrap": "^4.6.2",
- "cross-env": "^7.0.3",
- "datatables.net-bs4": "^1.13.8",
- "jquery": "^3.7.0",
- "jquery-slim": "^3.0.0",
- "laravel-mix": "^6.0.49",
- "laravel-mix-purgecss": "^6.0.0",
- "lodash": "^4.17.21",
- "popper.js": "^1.16.1",
- "postcss": "^8.4.32",
- "resolve-url-loader": "^5.0.0",
- "sass": "^1.43.2",
- "sass-loader": "^12.2.0",
- "select2": "^4.1.0-rc.0",
- "vue": "^2.6.14",
- "vue-loader": "^15.11.1",
- "vue-template-compiler": "^2.6.14"
- },
- "dependencies": {
- "axios": "^1.7.4"
+ "@tailwindcss/vite": "^4.0.0",
+ "axios": "^1.11.0",
+ "concurrently": "^9.0.1",
+ "daisyui": "^5.5.14",
+ "laravel-vite-plugin": "^2.0.0",
+ "luxon": "^3.7.2",
+ "tailwindcss": "^4.0.0",
+ "vite": "^7.0.7",
+ "lucide": "^0.562.0",
+ "tabulator-tables": "^6.3.1"
}
}
diff --git a/phpunit.xml b/phpunit.xml
index 0a6b2cb75..d70324153 100644
--- a/phpunit.xml
+++ b/phpunit.xml
@@ -1,24 +1,35 @@
-
-
-
- ./app
-
-
-
-
- ./tests/Unit
-
-
- ./tests/Feature
-
-
-
-
-
-
-
-
-
-
+
+
+
+ tests/Unit
+
+
+ tests/Feature
+
+
+
+
+ app
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/public/.htaccess b/public/.htaccess
index 903f6392c..b574a597d 100644
--- a/public/.htaccess
+++ b/public/.htaccess
@@ -1,20 +1,25 @@
- Options -MultiViews
+ Options -MultiViews -Indexes
RewriteEngine On
+ # Handle Authorization Header
+ RewriteCond %{HTTP:Authorization} .
+ RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
+
+ # Handle X-XSRF-Token Header
+ RewriteCond %{HTTP:x-xsrf-token} .
+ RewriteRule .* - [E=HTTP_X_XSRF_TOKEN:%{HTTP:X-XSRF-Token}]
+
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule ^(.*)/$ /$1 [L,R=301]
+ RewriteCond %{REQUEST_URI} (.+)/$
+ RewriteRule ^ %1 [L,R=301]
- # Handle Front Controller...
+ # Send Requests To Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
-
- # Handle Authorization Header
- RewriteCond %{HTTP:Authorization} .
- RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
diff --git a/public/css/app.css b/public/css/app.css
deleted file mode 100644
index 1ca5acc91..000000000
--- a/public/css/app.css
+++ /dev/null
@@ -1,9 +0,0 @@
-.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;overflow:hidden;padding-left:8px;padding-right:20px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{background-color:transparent;border:none;font-size:1em}.select2-container[dir=rtl] .select2-selection--single .select2-selection__rendered{padding-left:20px;padding-right:8px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline;list-style:none;padding:0}.select2-container .select2-selection--multiple .select2-selection__clear{background-color:transparent;border:none;font-size:1em}.select2-container .select2-search--inline .select2-search__field{border:none;box-sizing:border-box;font-family:sans-serif;font-size:100%;height:18px;margin-left:5px;margin-top:5px;max-width:100%;overflow:hidden;padding:0;resize:none;vertical-align:bottom;word-break:keep-all}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:#fff;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;left:-100000px;position:absolute;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;-moz-user-select:none;user-select:none;-webkit-user-select:none}.select2-results__option--selectable{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{box-sizing:border-box;padding:4px;width:100%}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{background-color:#fff;border:0;display:block;filter:alpha(opacity=0);height:auto;left:0;margin:0;min-height:100%;min-width:100%;opacity:0;padding:0;position:fixed;top:0;width:auto;z-index:99}.select2-hidden-accessible{clip:rect(0 0 0 0)!important;border:0!important;clip-path:inset(50%)!important;height:1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;white-space:nowrap!important;width:1px!important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;height:26px;margin-right:20px;padding-right:0}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;right:1px;top:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir=rtl] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--default .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;padding-bottom:5px;padding-right:5px;position:relative}.select2-container--default .select2-selection--multiple.select2-selection--clearable{padding-right:25px}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;font-weight:700;height:20px;margin-right:10px;margin-top:5px;padding:1px;position:absolute;right:0}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:inline-block;margin-left:5px;margin-top:5px;max-width:100%;overflow:hidden;padding:0 0 0 20px;position:relative;text-overflow:ellipsis;vertical-align:bottom;white-space:nowrap}.select2-container--default .select2-selection--multiple .select2-selection__choice__display{cursor:default;padding-left:2px;padding-right:5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{background-color:transparent;border:none;border-bottom-left-radius:4px;border-right:1px solid #aaa;border-top-left-radius:4px;color:#999;cursor:pointer;font-size:1em;font-weight:700;left:0;padding:0 4px;position:absolute;top:0}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus,.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background-color:#f1f1f1;color:#333;outline:none}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__display{padding-left:5px;padding-right:2px}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{border-bottom-left-radius:0;border-bottom-right-radius:4px;border-left:1px solid #aaa;border-right:none;border-top-left-radius:0;border-top-right-radius:4px}.select2-container--default[dir=rtl] .select2-selection--multiple .select2-selection__clear{float:left;margin-left:10px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:1px solid #000;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple,.select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{-webkit-appearance:textfield;background:transparent;border:none;box-shadow:none;outline:0}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--group{padding:0}.select2-container--default .select2-results__option--disabled{color:#999}.select2-container--default .select2-results__option--selected{background-color:#ddd}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable{background-color:#5897fb;color:#fff}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;background-image:linear-gradient(180deg,#fff 50%,#eee);background-repeat:repeat-x;border:1px solid #aaa;border-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0);outline:0}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:700;height:26px;margin-right:20px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;background-image:linear-gradient(180deg,#eee 50%,#ccc);background-repeat:repeat-x;border:none;border-bottom-right-radius:4px;border-left:1px solid #aaa;border-top-right-radius:4px;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFCCCCCC",GradientType=0);height:26px;position:absolute;right:1px;top:1px;width:20px}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent;border-style:solid;border-width:5px 4px 0;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir=rtl] .select2-selection--single .select2-selection__arrow{border:none;border-radius:0;border-bottom-left-radius:4px;border-right:1px solid #aaa;border-top-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888;border-width:0 4px 5px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{background-image:linear-gradient(180deg,#fff 0,#eee 50%);background-repeat:repeat-x;border-top:none;border-top-left-radius:0;border-top-right-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFFFFFFF",endColorstr="#FFEEEEEE",GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{background-image:linear-gradient(180deg,#eee 50%,#fff);background-repeat:repeat-x;border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr="#FFEEEEEE",endColorstr="#FFFFFFFF",GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:#fff;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0;padding-bottom:5px;padding-right:5px}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;display:inline-block;margin-left:5px;margin-top:5px;padding:0}.select2-container--classic .select2-selection--multiple .select2-selection__choice__display{cursor:default;padding-left:2px;padding-right:5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{background-color:transparent;border:none;border-bottom-left-radius:4px;border-top-left-radius:4px;color:#888;cursor:pointer;font-size:1em;font-weight:700;padding:0 4px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555;outline:none}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__display{padding-left:5px;padding-right:2px}.select2-container--classic[dir=rtl] .select2-selection--multiple .select2-selection__choice__remove{border-bottom-left-radius:0;border-bottom-right-radius:4px;border-top-left-radius:0;border-top-right-radius:4px}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{box-shadow:none;outline:0}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option--group{padding:0}.select2-container--classic .select2-results__option--disabled{color:grey}.select2-container--classic .select2-results__option--highlighted.select2-results__option--selectable{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb}
-@charset "UTF-8";:root{--dt-row-selected:2,117,216;--dt-row-selected-text:255,255,255;--dt-row-selected-link:9,10,11;--dt-row-stripe:0,0,0;--dt-row-hover:0,0,0;--dt-column-ordering:0,0,0;--dt-html-background:#fff}:root.dark{--dt-html-background:#212529}table.dataTable td.dt-control{cursor:pointer;text-align:center}table.dataTable td.dt-control:before{color:rgba(0,0,0,.5);content:"▶";display:inline-block}table.dataTable tr.dt-hasChild td.dt-control:before{content:"▼"}:root[data-bs-theme=dark] table.dataTable td.dt-control:before,:root[data-bs-theme=dark] table.dataTable tr.dt-hasChild td.dt-control:before,html.dark table.dataTable td.dt-control:before,html.dark table.dataTable tr.dt-hasChild td.dt-control:before{color:hsla(0,0%,100%,.5)}table.dataTable thead>tr>td.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_asc_disabled,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting_desc_disabled,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_asc_disabled,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting_desc_disabled{cursor:pointer;padding-right:26px;position:relative}table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting_desc_disabled:before,table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>th.sorting_desc_disabled:before{display:block;font-size:.8em;line-height:9px;opacity:.125;position:absolute;right:10px}table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_desc_disabled:before,table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_desc_disabled:before{bottom:50%;content:"▲";content:"▲"/""}table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_desc_disabled:after,table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_desc_disabled:after{content:"▼";content:"▼"/"";top:50%}table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_desc:after{opacity:.6}table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc_disabled:after{display:none}table.dataTable thead>tr>td:active,table.dataTable thead>tr>th:active{outline:none}div.dataTables_scrollBody>table.dataTable>thead>tr>td:after,div.dataTables_scrollBody>table.dataTable>thead>tr>td:before,div.dataTables_scrollBody>table.dataTable>thead>tr>th:after,div.dataTables_scrollBody>table.dataTable>thead>tr>th:before{display:none}div.dataTables_processing{left:50%;margin-left:-100px;margin-top:-26px;padding:2px;position:absolute;text-align:center;top:50%;width:200px;z-index:10}div.dataTables_processing>div:last-child{height:15px;margin:1em auto;position:relative;width:80px}div.dataTables_processing>div:last-child>div{animation-timing-function:cubic-bezier(0,1,1,0);background:#0275d8;background:rgb(var(--dt-row-selected));border-radius:50%;height:13px;position:absolute;top:0;width:13px}div.dataTables_processing>div:last-child>div:first-child{animation:datatables-loader-1 .6s infinite;left:8px}div.dataTables_processing>div:last-child>div:nth-child(2){animation:datatables-loader-2 .6s infinite;left:8px}div.dataTables_processing>div:last-child>div:nth-child(3){animation:datatables-loader-2 .6s infinite;left:32px}div.dataTables_processing>div:last-child>div:nth-child(4){animation:datatables-loader-3 .6s infinite;left:56px}@keyframes datatables-loader-1{0%{transform:scale(0)}to{transform:scale(1)}}@keyframes datatables-loader-3{0%{transform:scale(1)}to{transform:scale(0)}}@keyframes datatables-loader-2{0%{transform:translate(0)}to{transform:translate(24px)}}table.dataTable td.dt-left,table.dataTable th.dt-left{text-align:left}table.dataTable td.dataTables_empty,table.dataTable td.dt-center,table.dataTable th.dt-center{text-align:center}table.dataTable td.dt-right,table.dataTable th.dt-right{text-align:right}table.dataTable td.dt-justify,table.dataTable th.dt-justify{text-align:justify}table.dataTable td.dt-nowrap,table.dataTable th.dt-nowrap{white-space:nowrap}table.dataTable tfoot td,table.dataTable tfoot td.dt-head-left,table.dataTable tfoot th,table.dataTable tfoot th.dt-head-left,table.dataTable thead td,table.dataTable thead td.dt-head-left,table.dataTable thead th,table.dataTable thead th.dt-head-left{text-align:left}table.dataTable tfoot td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable thead th.dt-head-center{text-align:center}table.dataTable tfoot td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable thead th.dt-head-right{text-align:right}table.dataTable tfoot td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable thead th.dt-head-justify{text-align:justify}table.dataTable tfoot td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable thead th.dt-head-nowrap{white-space:nowrap}table.dataTable tbody td.dt-body-left,table.dataTable tbody th.dt-body-left{text-align:left}table.dataTable tbody td.dt-body-center,table.dataTable tbody th.dt-body-center{text-align:center}table.dataTable tbody td.dt-body-right,table.dataTable tbody th.dt-body-right{text-align:right}table.dataTable tbody td.dt-body-justify,table.dataTable tbody th.dt-body-justify{text-align:justify}table.dataTable tbody td.dt-body-nowrap,table.dataTable tbody th.dt-body-nowrap{white-space:nowrap}table.dataTable{border-collapse:separate!important;border-spacing:0;clear:both;margin-bottom:6px!important;margin-top:6px!important;max-width:none!important}table.dataTable td,table.dataTable th{box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap td,table.dataTable.nowrap th{white-space:nowrap}table.dataTable.table-striped>tbody>tr:nth-of-type(odd),table.dataTable>tbody>tr{background-color:transparent}table.dataTable>tbody>tr.selected>*{box-shadow:inset 0 0 0 9999px #0275d8;box-shadow:inset 0 0 0 9999px rgb(var(--dt-row-selected));color:#fff;color:rgb(var(--dt-row-selected-text))}table.dataTable>tbody>tr.selected a{color:#090a0b;color:rgb(var(--dt-row-selected-link))}table.dataTable.table-striped>tbody>tr.odd>*{box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-stripe),.05)}table.dataTable.table-striped>tbody>tr.odd.selected>*{box-shadow:inset 0 0 0 9999px rgba(2,117,216,.95);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.95)}table.dataTable.table-hover>tbody>tr:hover>*{box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-hover),.075)}table.dataTable.table-hover>tbody>tr.selected:hover>*{box-shadow:inset 0 0 0 9999px rgba(2,117,216,.975);box-shadow:inset 0 0 0 9999px rgba(var(--dt-row-selected),.975)}div.dataTables_wrapper div.dataTables_length label{font-weight:400;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:400;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_filter input{display:inline-block;margin-left:.5em;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:.85em}div.dataTables_wrapper div.dataTables_paginate{margin:0;text-align:right;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:flex-end;margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{left:50%;margin-left:-100px;margin-top:-26px;padding:1em 0;position:absolute;text-align:center;top:50%;width:200px}div.dataTables_scrollHead table.dataTable{margin-bottom:0!important}div.dataTables_scrollBody>table{border-top:none;margin-bottom:0!important;margin-top:0!important}div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting:before,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_asc:before,div.dataTables_scrollBody>table>thead .sorting_desc:after,div.dataTables_scrollBody>table>thead .sorting_desc:before{display:none}div.dataTables_scrollBody>table>tbody tr:first-child td,div.dataTables_scrollBody>table>tbody tr:first-child th{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{border-top:none;margin-top:0!important}@media screen and (max-width:767px){div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_paginate{text-align:center}div.dataTables_wrapper div.dataTables_paginate ul.pagination{justify-content:center!important}}table.dataTable.table-sm>thead>tr>th:not(.sorting_disabled){padding-right:20px}table.table-bordered.dataTable{border-right-width:0}table.table-bordered.dataTable td,table.table-bordered.dataTable th{border-left-width:0}table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable th:last-child{border-right-width:1px}div.dataTables_scrollHead table.table-bordered,table.table-bordered.dataTable tbody td,table.table-bordered.dataTable tbody th{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^=col-]:last-child{padding-right:0}
-@charset "UTF-8";
-/*!
- * Bootstrap v4.6.2 (https://getbootstrap.com/)
- * Copyright 2011-2022 The Bootstrap Authors
- * Copyright 2011-2022 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
- */:root{--blue:#0f3e50;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#d24418;--orange:#fd7e14;--yellow:#d2ba18;--green:#12b87f;--teal:#20c997;--cyan:#1090ac;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#0f3e50;--secondary:#6c757d;--success:#12b87f;--info:#1090ac;--warning:#d2ba18;--danger:#d24418;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--breakpoint-xxl:1921px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);font-family:sans-serif;line-height:1.15}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{background-color:#fff;color:#212529;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:1rem;font-weight:400;line-height:1.5;margin:0;text-align:left}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;margin-top:0}p{margin-bottom:1rem;margin-top:0}abbr[data-original-title],abbr[title]{border-bottom:0;cursor:help;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{font-style:normal;line-height:inherit}address,dl,ol,ul{margin-bottom:1rem}dl,ol,ul{margin-top:0}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{background-color:transparent;color:#0f3e50;text-decoration:none}a:hover{color:#030c10;text-decoration:underline}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}pre{-ms-overflow-style:scrollbar;margin-bottom:1rem;margin-top:0;overflow:auto}figure{margin:0 0 1rem}img{border-style:none}img,svg{vertical-align:middle}svg{overflow:hidden}table{border-collapse:collapse}caption{caption-side:bottom;color:#6c757d;padding-bottom:.75rem;padding-top:.75rem;text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{border:0;margin:0;min-width:0;padding:0}legend{color:inherit;display:block;font-size:1.5rem;line-height:inherit;margin-bottom:.5rem;max-width:100%;padding:0;white-space:normal;width:100%}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:none;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}output{display:inline-block}summary{cursor:pointer;display:list-item}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{font-weight:500;line-height:1.2;margin-bottom:.5rem}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem}.display-1,.display-2{font-weight:300;line-height:1.2}.display-2{font-size:5.5rem}.display-3{font-size:4.5rem}.display-3,.display-4{font-weight:300;line-height:1.2}.display-4{font-size:3.5rem}hr{border:0;border-top:1px solid rgba(0,0,0,.1);margin-bottom:1rem;margin-top:1rem}.small,small{font-size:.875em;font-weight:400}.mark,mark{background-color:#fcf8e3;padding:.2em}.list-inline,.list-unstyled{list-style:none;padding-left:0}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{font-size:1.25rem;margin-bottom:1rem}.blockquote-footer{color:#6c757d;display:block;font-size:.875em}.blockquote-footer:before{content:"— "}.img-fluid,.img-thumbnail{height:auto;max-width:100%}.img-thumbnail{background-color:#fff;border:1px solid #dee2e6;padding:.25rem}.figure{display:inline-block}.figure-img{line-height:1;margin-bottom:.5rem}.figure-caption{color:#6c757d;font-size:90%}code{word-wrap:break-word;color:#e83e8c;font-size:87.5%}a>code{color:inherit}kbd{background-color:#212529;color:#fff;font-size:87.5%;padding:.2rem .4rem}kbd kbd{font-size:100%;font-weight:700;padding:0}pre{color:#212529;display:block;font-size:87.5%}pre code{color:inherit;font-size:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{margin-left:auto;margin-right:auto;padding-left:15px;padding-right:15px;width:100%}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:flex;flex-wrap:wrap;margin-left:-15px;margin-right:-15px}.no-gutters{margin-left:0;margin-right:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-left:0;padding-right:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto,.col-xxl,.col-xxl-1,.col-xxl-10,.col-xxl-11,.col-xxl-12,.col-xxl-2,.col-xxl-3,.col-xxl-4,.col-xxl-5,.col-xxl-6,.col-xxl-7,.col-xxl-8,.col-xxl-9,.col-xxl-auto{padding-left:15px;padding-right:15px;position:relative;width:100%}.col{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-1>*{flex:0 0 100%;max-width:100%}.row-cols-2>*{flex:0 0 50%;max-width:50%}.row-cols-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-4>*{flex:0 0 25%;max-width:25%}.row-cols-5>*{flex:0 0 20%;max-width:20%}.row-cols-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-auto{flex:0 0 auto;max-width:100%;width:auto}.col-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-3{flex:0 0 25%;max-width:25%}.col-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-6{flex:0 0 50%;max-width:50%}.col-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-9{flex:0 0 75%;max-width:75%}.col-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-12{flex:0 0 100%;max-width:100%}.order-first{order:-1}.order-last{order:13}.order-0{order:0}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.order-5{order:5}.order-6{order:6}.order-7{order:7}.order-8{order:8}.order-9{order:9}.order-10{order:10}.order-11{order:11}.order-12{order:12}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}@media (min-width:576px){.col-sm{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-sm-1>*{flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-sm-4>*{flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-sm-auto{flex:0 0 auto;max-width:100%;width:auto}.col-sm-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-sm-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-sm-3{flex:0 0 25%;max-width:25%}.col-sm-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-sm-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-sm-6{flex:0 0 50%;max-width:50%}.col-sm-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-sm-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-sm-9{flex:0 0 75%;max-width:75%}.col-sm-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-sm-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-sm-12{flex:0 0 100%;max-width:100%}.order-sm-first{order:-1}.order-sm-last{order:13}.order-sm-0{order:0}.order-sm-1{order:1}.order-sm-2{order:2}.order-sm-3{order:3}.order-sm-4{order:4}.order-sm-5{order:5}.order-sm-6{order:6}.order-sm-7{order:7}.order-sm-8{order:8}.order-sm-9{order:9}.order-sm-10{order:10}.order-sm-11{order:11}.order-sm-12{order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}}@media (min-width:768px){.col-md{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-md-1>*{flex:0 0 100%;max-width:100%}.row-cols-md-2>*{flex:0 0 50%;max-width:50%}.row-cols-md-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-md-4>*{flex:0 0 25%;max-width:25%}.row-cols-md-5>*{flex:0 0 20%;max-width:20%}.row-cols-md-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-md-auto{flex:0 0 auto;max-width:100%;width:auto}.col-md-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-md-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-md-3{flex:0 0 25%;max-width:25%}.col-md-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-md-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-md-6{flex:0 0 50%;max-width:50%}.col-md-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-md-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-md-9{flex:0 0 75%;max-width:75%}.col-md-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-md-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-md-12{flex:0 0 100%;max-width:100%}.order-md-first{order:-1}.order-md-last{order:13}.order-md-0{order:0}.order-md-1{order:1}.order-md-2{order:2}.order-md-3{order:3}.order-md-4{order:4}.order-md-5{order:5}.order-md-6{order:6}.order-md-7{order:7}.order-md-8{order:8}.order-md-9{order:9}.order-md-10{order:10}.order-md-11{order:11}.order-md-12{order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}}@media (min-width:992px){.col-lg{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-lg-1>*{flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-lg-4>*{flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-lg-auto{flex:0 0 auto;max-width:100%;width:auto}.col-lg-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-lg-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-lg-3{flex:0 0 25%;max-width:25%}.col-lg-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-lg-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-lg-6{flex:0 0 50%;max-width:50%}.col-lg-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-lg-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-lg-9{flex:0 0 75%;max-width:75%}.col-lg-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-lg-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-lg-12{flex:0 0 100%;max-width:100%}.order-lg-first{order:-1}.order-lg-last{order:13}.order-lg-0{order:0}.order-lg-1{order:1}.order-lg-2{order:2}.order-lg-3{order:3}.order-lg-4{order:4}.order-lg-5{order:5}.order-lg-6{order:6}.order-lg-7{order:7}.order-lg-8{order:8}.order-lg-9{order:9}.order-lg-10{order:10}.order-lg-11{order:11}.order-lg-12{order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}}@media (min-width:1200px){.col-xl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xl-auto{flex:0 0 auto;max-width:100%;width:auto}.col-xl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xl-3{flex:0 0 25%;max-width:25%}.col-xl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xl-6{flex:0 0 50%;max-width:50%}.col-xl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xl-9{flex:0 0 75%;max-width:75%}.col-xl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xl-12{flex:0 0 100%;max-width:100%}.order-xl-first{order:-1}.order-xl-last{order:13}.order-xl-0{order:0}.order-xl-1{order:1}.order-xl-2{order:2}.order-xl-3{order:3}.order-xl-4{order:4}.order-xl-5{order:5}.order-xl-6{order:6}.order-xl-7{order:7}.order-xl-8{order:8}.order-xl-9{order:9}.order-xl-10{order:10}.order-xl-11{order:11}.order-xl-12{order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}}@media (min-width:1921px){.col-xxl{flex-basis:0;flex-grow:1;max-width:100%}.row-cols-xxl-1>*{flex:0 0 100%;max-width:100%}.row-cols-xxl-2>*{flex:0 0 50%;max-width:50%}.row-cols-xxl-3>*{flex:0 0 33.3333333333%;max-width:33.3333333333%}.row-cols-xxl-4>*{flex:0 0 25%;max-width:25%}.row-cols-xxl-5>*{flex:0 0 20%;max-width:20%}.row-cols-xxl-6>*{flex:0 0 16.6666666667%;max-width:16.6666666667%}.col-xxl-auto{flex:0 0 auto;max-width:100%;width:auto}.col-xxl-1{flex:0 0 8.33333333%;max-width:8.33333333%}.col-xxl-2{flex:0 0 16.66666667%;max-width:16.66666667%}.col-xxl-3{flex:0 0 25%;max-width:25%}.col-xxl-4{flex:0 0 33.33333333%;max-width:33.33333333%}.col-xxl-5{flex:0 0 41.66666667%;max-width:41.66666667%}.col-xxl-6{flex:0 0 50%;max-width:50%}.col-xxl-7{flex:0 0 58.33333333%;max-width:58.33333333%}.col-xxl-8{flex:0 0 66.66666667%;max-width:66.66666667%}.col-xxl-9{flex:0 0 75%;max-width:75%}.col-xxl-10{flex:0 0 83.33333333%;max-width:83.33333333%}.col-xxl-11{flex:0 0 91.66666667%;max-width:91.66666667%}.col-xxl-12{flex:0 0 100%;max-width:100%}.order-xxl-first{order:-1}.order-xxl-last{order:13}.order-xxl-0{order:0}.order-xxl-1{order:1}.order-xxl-2{order:2}.order-xxl-3{order:3}.order-xxl-4{order:4}.order-xxl-5{order:5}.order-xxl-6{order:6}.order-xxl-7{order:7}.order-xxl-8{order:8}.order-xxl-9{order:9}.order-xxl-10{order:10}.order-xxl-11{order:11}.order-xxl-12{order:12}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}}.table{color:#212529;margin-bottom:1rem;width:100%}.table td,.table th{border-top:1px solid #dee2e6;padding:.75rem;vertical-align:top}.table thead th{border-bottom:2px solid #dee2e6;vertical-align:bottom}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered,.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{background-color:rgba(0,0,0,.075);color:#212529}.table-primary,.table-primary>td,.table-primary>th{background-color:#bcc9ce}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#829ba4}.table-hover .table-primary:hover,.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#adbdc3}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover,.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#bdebdb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#84dabc}.table-hover .table-success:hover,.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#a9e5d0}.table-info,.table-info>td,.table-info>th{background-color:#bce0e8}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#83c5d4}.table-hover .table-info:hover,.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#a9d7e1}.table-warning,.table-warning>td,.table-warning>th{background-color:#f2ecbe}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#e8db87}.table-hover .table-warning:hover,.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#eee6a9}.table-danger,.table-danger>td,.table-danger>th{background-color:#f2cbbe}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#e89e87}.table-hover .table-danger:hover,.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#eebaa9}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover,.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover,.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th,.table-hover .table-active:hover,.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{background-color:#343a40;border-color:#454d55;color:#fff}.table .thead-light th{background-color:#e9ecef;border-color:#dee2e6;color:#495057}.table-dark{background-color:#343a40;color:#fff}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:hsla(0,0%,100%,.05)}.table-dark.table-hover tbody tr:hover{background-color:hsla(0,0%,100%,.075);color:#fff}@media (max-width:575.98px){.table-responsive-sm{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-xl>.table-bordered{border:0}}@media (max-width:1920.98px){.table-responsive-xxl{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive-xxl>.table-bordered{border:0}}.table-responsive{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto;width:100%}.table-responsive>.table-bordered{border:0}.form-control{background-clip:padding-box;background-color:#fff;border:1px solid #ced4da;border-radius:0;color:#495057;display:block;font-size:1rem;font-weight:400;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem .75rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{background-color:#fff;border-color:#2391bb;box-shadow:0 0 0 .2rem rgba(15,62,80,.25);color:#495057;outline:0}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{background-color:#fff;color:#495057}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{font-size:inherit;line-height:1.5;margin-bottom:0;padding-bottom:calc(.375rem + 1px);padding-top:calc(.375rem + 1px)}.col-form-label-lg{font-size:1.25rem;line-height:1.5;padding-bottom:calc(.5rem + 1px);padding-top:calc(.5rem + 1px)}.col-form-label-sm{font-size:.875rem;line-height:1.5;padding-bottom:calc(.25rem + 1px);padding-top:calc(.25rem + 1px)}.form-control-plaintext{background-color:transparent;border:solid transparent;border-width:1px 0;color:#212529;display:block;font-size:1rem;line-height:1.5;margin-bottom:0;padding:.375rem 0;width:100%}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-left:0;padding-right:0}.form-control-sm{font-size:.875rem;height:calc(1.5em + .5rem + 2px);line-height:1.5;padding:.25rem .5rem}.form-control-lg{font-size:1.25rem;height:calc(1.5em + 1rem + 2px);line-height:1.5;padding:.5rem 1rem}select.form-control[multiple],select.form-control[size]{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:flex;flex-wrap:wrap;margin-left:-5px;margin-right:-5px}.form-row>.col,.form-row>[class*=col-]{padding-left:5px;padding-right:5px}.form-check{display:block;padding-left:1.25rem;position:relative}.form-check-input{margin-left:-1.25rem;margin-top:.3rem;position:absolute}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{align-items:center;display:inline-flex;margin-right:.75rem;padding-left:0}.form-check-inline .form-check-input{margin-left:0;margin-right:.3125rem;margin-top:0;position:static}.valid-feedback{color:#12b87f;display:none;font-size:.875em;margin-top:.25rem;width:100%}.valid-tooltip{background-color:rgba(18,184,127,.9);color:#fff;display:none;font-size:.875rem;left:0;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2312b87f' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#12b87f;padding-right:calc(1.5em + .75rem)!important}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#12b87f;box-shadow:0 0 0 .2rem rgba(18,184,127,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-valid,.was-validated .custom-select:valid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2312b87f' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat;border-color:#12b87f;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#12b87f;box-shadow:0 0 0 .2rem rgba(18,184,127,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#12b87f}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#12b87f}.custom-control-input.is-valid~.custom-control-label:before,.was-validated .custom-control-input:valid~.custom-control-label:before{border-color:#12b87f}.custom-control-input.is-valid:checked~.custom-control-label:before,.was-validated .custom-control-input:valid:checked~.custom-control-label:before{background-color:#17e69f;border-color:#17e69f}.custom-control-input.is-valid:focus~.custom-control-label:before,.was-validated .custom-control-input:valid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(18,184,127,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label:before{border-color:#12b87f}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#12b87f}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#12b87f;box-shadow:0 0 0 .2rem rgba(18,184,127,.25)}.invalid-feedback{color:#d24418;display:none;font-size:.875em;margin-top:.25rem;width:100%}.invalid-tooltip{background-color:rgba(210,68,24,.9);color:#fff;display:none;font-size:.875rem;left:0;line-height:1.5;margin-top:.1rem;max-width:100%;padding:.25rem .5rem;position:absolute;top:100%;z-index:5}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23d24418'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23d24418' stroke='none'/%3E%3C/svg%3E");background-position:right calc(.375em + .1875rem) center;background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem);border-color:#d24418;padding-right:calc(1.5em + .75rem)!important}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#d24418;box-shadow:0 0 0 .2rem rgba(210,68,24,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{background-position:right 1.5rem center;padding-right:3rem!important}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem);padding-right:calc(1.5em + .75rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23d24418'%3E%3Ccircle cx='6' cy='6' r='4.5'/%3E%3Cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3E%3Ccircle cx='6' cy='8.2' r='.6' fill='%23d24418' stroke='none'/%3E%3C/svg%3E") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat;border-color:#d24418;padding-right:calc(.75em + 2.3125rem)!important}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#d24418;box-shadow:0 0 0 .2rem rgba(210,68,24,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#d24418}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#d24418}.custom-control-input.is-invalid~.custom-control-label:before,.was-validated .custom-control-input:invalid~.custom-control-label:before{border-color:#d24418}.custom-control-input.is-invalid:checked~.custom-control-label:before,.was-validated .custom-control-input:invalid:checked~.custom-control-label:before{background-color:#e85f35;border-color:#e85f35}.custom-control-input.is-invalid:focus~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(210,68,24,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label:before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label:before{border-color:#d24418}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#d24418}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#d24418;box-shadow:0 0 0 .2rem rgba(210,68,24,.25)}.form-inline{align-items:center;display:flex;flex-flow:row wrap}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{justify-content:center}.form-inline .form-group,.form-inline label{align-items:center;display:flex;margin-bottom:0}.form-inline .form-group{flex:0 0 auto;flex-flow:row wrap}.form-inline .form-control{display:inline-block;vertical-align:middle;width:auto}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{align-items:center;display:flex;justify-content:center;padding-left:0;width:auto}.form-inline .form-check-input{flex-shrink:0;margin-left:0;margin-right:.25rem;margin-top:0;position:relative}.form-inline .custom-control{align-items:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{background-color:transparent;border:1px solid transparent;border-radius:0;color:#212529;display:inline-block;font-size:1rem;font-weight:400;line-height:1.5;padding:.375rem .75rem;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{box-shadow:0 0 0 .2rem rgba(15,62,80,.25);outline:0}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{background-color:#0f3e50;border-color:#0f3e50;color:#fff}.btn-primary.focus,.btn-primary:focus,.btn-primary:hover{background-color:#092530;border-color:#071d25;color:#fff}.btn-primary.focus,.btn-primary:focus{box-shadow:0 0 0 .2rem rgba(51,91,106,.5)}.btn-primary.disabled,.btn-primary:disabled{background-color:#0f3e50;border-color:#0f3e50;color:#fff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{background-color:#071d25;border-color:#05141a;color:#fff}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(51,91,106,.5)}.btn-secondary{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary.focus,.btn-secondary:focus,.btn-secondary:hover{background-color:#5a6268;border-color:#545b62;color:#fff}.btn-secondary.focus,.btn-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-secondary.disabled,.btn-secondary:disabled{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{background-color:#545b62;border-color:#4e555b;color:#fff}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,6%,54%,.5)}.btn-success{background-color:#12b87f;border-color:#12b87f;color:#fff}.btn-success.focus,.btn-success:focus,.btn-success:hover{background-color:#0f9567;border-color:#0d8a5f;color:#fff}.btn-success.focus,.btn-success:focus{box-shadow:0 0 0 .2rem rgba(54,195,146,.5)}.btn-success.disabled,.btn-success:disabled{background-color:#12b87f;border-color:#12b87f;color:#fff}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{background-color:#0d8a5f;border-color:#0c7e57;color:#fff}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(54,195,146,.5)}.btn-info{background-color:#1090ac;border-color:#1090ac;color:#fff}.btn-info.focus,.btn-info:focus,.btn-info:hover{background-color:#0d7389;border-color:#0c697d;color:#fff}.btn-info.focus,.btn-info:focus{box-shadow:0 0 0 .2rem rgba(52,161,184,.5)}.btn-info.disabled,.btn-info:disabled{background-color:#1090ac;border-color:#1090ac;color:#fff}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{background-color:#0c697d;border-color:#0b5f72;color:#fff}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,161,184,.5)}.btn-warning{background-color:#d2ba18;border-color:#d2ba18;color:#212529}.btn-warning.focus,.btn-warning:focus,.btn-warning:hover{background-color:#b09c14;border-color:#a49113;color:#fff}.btn-warning.focus,.btn-warning:focus{box-shadow:0 0 0 .2rem rgba(183,164,27,.5)}.btn-warning.disabled,.btn-warning:disabled{background-color:#d2ba18;border-color:#d2ba18;color:#212529}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{background-color:#a49113;border-color:#998711;color:#fff}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(183,164,27,.5)}.btn-danger{background-color:#d24418;border-color:#d24418;color:#fff}.btn-danger.focus,.btn-danger:focus,.btn-danger:hover{background-color:#b03914;border-color:#a43513;color:#fff}.btn-danger.focus,.btn-danger:focus{box-shadow:0 0 0 .2rem rgba(217,96,59,.5)}.btn-danger.disabled,.btn-danger:disabled{background-color:#d24418;border-color:#d24418;color:#fff}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{background-color:#a43513;border-color:#993111;color:#fff}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(217,96,59,.5)}.btn-light{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light.focus,.btn-light:focus,.btn-light:hover{background-color:#e2e6ea;border-color:#dae0e5;color:#212529}.btn-light.focus,.btn-light:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-light.disabled,.btn-light:disabled{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{background-color:#dae0e5;border-color:#d3d9df;color:#212529}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(220,4%,85%,.5)}.btn-dark{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark.focus,.btn-dark:focus,.btn-dark:hover{background-color:#23272b;border-color:#1d2124;color:#fff}.btn-dark.focus,.btn-dark:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{background-color:#343a40;border-color:#343a40;color:#fff}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{background-color:#1d2124;border-color:#171a1d;color:#fff}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{border-color:#0f3e50;color:#0f3e50}.btn-outline-primary:hover{background-color:#0f3e50;border-color:#0f3e50;color:#fff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(15,62,80,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{background-color:transparent;color:#0f3e50}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{background-color:#0f3e50;border-color:#0f3e50;color:#fff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(15,62,80,.5)}.btn-outline-secondary{border-color:#6c757d;color:#6c757d}.btn-outline-secondary:hover{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{background-color:transparent;color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{background-color:#6c757d;border-color:#6c757d;color:#fff}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5)}.btn-outline-success{border-color:#12b87f;color:#12b87f}.btn-outline-success:hover{background-color:#12b87f;border-color:#12b87f;color:#fff}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(18,184,127,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{background-color:transparent;color:#12b87f}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{background-color:#12b87f;border-color:#12b87f;color:#fff}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(18,184,127,.5)}.btn-outline-info{border-color:#1090ac;color:#1090ac}.btn-outline-info:hover{background-color:#1090ac;border-color:#1090ac;color:#fff}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(16,144,172,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{background-color:transparent;color:#1090ac}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{background-color:#1090ac;border-color:#1090ac;color:#fff}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(16,144,172,.5)}.btn-outline-warning{border-color:#d2ba18;color:#d2ba18}.btn-outline-warning:hover{background-color:#d2ba18;border-color:#d2ba18;color:#212529}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(210,186,24,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{background-color:transparent;color:#d2ba18}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{background-color:#d2ba18;border-color:#d2ba18;color:#212529}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(210,186,24,.5)}.btn-outline-danger{border-color:#d24418;color:#d24418}.btn-outline-danger:hover{background-color:#d24418;border-color:#d24418;color:#fff}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(210,68,24,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{background-color:transparent;color:#d24418}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{background-color:#d24418;border-color:#d24418;color:#fff}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(210,68,24,.5)}.btn-outline-light{border-color:#f8f9fa;color:#f8f9fa}.btn-outline-light:hover{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{background-color:transparent;color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{background-color:#f8f9fa;border-color:#f8f9fa;color:#212529}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{border-color:#343a40;color:#343a40}.btn-outline-dark:hover{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{background-color:transparent;color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{background-color:#343a40;border-color:#343a40;color:#fff}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{color:#0f3e50;font-weight:400;text-decoration:none}.btn-link:hover{color:#030c10}.btn-link.focus,.btn-link:focus,.btn-link:hover{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{border-radius:0;font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.btn-group-sm>.btn,.btn-sm{border-radius:0;font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;position:relative;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.width{height:auto;transition:width .35s ease;width:0}@media (prefers-reduced-motion:reduce){.collapsing.width{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle:after{border-bottom:0;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:.3em solid;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropdown-toggle:empty:after{margin-left:0}.dropdown-menu{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.15);color:#212529;display:none;float:left;font-size:1rem;left:0;list-style:none;margin:.125rem 0 0;min-width:10rem;padding:.5rem 0;position:absolute;text-align:left;top:100%}.dropdown-menu-left{left:0;right:auto}.dropdown-menu-right{left:auto;right:0}@media (min-width:576px){.dropdown-menu-sm-left{left:0;right:auto}.dropdown-menu-sm-right{left:auto;right:0}}@media (min-width:768px){.dropdown-menu-md-left{left:0;right:auto}.dropdown-menu-md-right{left:auto;right:0}}@media (min-width:992px){.dropdown-menu-lg-left{left:0;right:auto}.dropdown-menu-lg-right{left:auto;right:0}}@media (min-width:1200px){.dropdown-menu-xl-left{left:0;right:auto}.dropdown-menu-xl-right{left:auto;right:0}}@media (min-width:1921px){.dropdown-menu-xxl-left{left:0;right:auto}.dropdown-menu-xxl-right{left:auto;right:0}}.dropup .dropdown-menu{bottom:100%;margin-bottom:.125rem;margin-top:0;top:auto}.dropup .dropdown-toggle:after{border-bottom:.3em solid;border-left:.3em solid transparent;border-right:.3em solid transparent;border-top:0;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropup .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-menu{left:100%;margin-left:.125rem;margin-top:0;right:auto;top:0}.dropright .dropdown-toggle:after{border-bottom:.3em solid transparent;border-left:.3em solid;border-right:0;border-top:.3em solid transparent;content:"";display:inline-block;margin-left:.255em;vertical-align:.255em}.dropright .dropdown-toggle:empty:after{margin-left:0}.dropright .dropdown-toggle:after{vertical-align:0}.dropleft .dropdown-menu{left:auto;margin-right:.125rem;margin-top:0;right:100%;top:0}.dropleft .dropdown-toggle:after{content:"";display:inline-block;display:none;margin-left:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:before{border-bottom:.3em solid transparent;border-right:.3em solid;border-top:.3em solid transparent;content:"";display:inline-block;margin-right:.255em;vertical-align:.255em}.dropleft .dropdown-toggle:empty:after{margin-left:0}.dropleft .dropdown-toggle:before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{bottom:auto;right:auto}.dropdown-divider{border-top:1px solid #e9ecef;height:0;margin:.5rem 0;overflow:hidden}.dropdown-item{background-color:transparent;border:0;clear:both;color:#212529;display:block;font-weight:400;padding:.25rem 1.5rem;text-align:inherit;white-space:nowrap;width:100%}.dropdown-item:focus,.dropdown-item:hover{background-color:#e9ecef;color:#16181b;text-decoration:none}.dropdown-item.active,.dropdown-item:active{background-color:#0f3e50;color:#fff;text-decoration:none}.dropdown-item.disabled,.dropdown-item:disabled{background-color:transparent;color:#adb5bd;pointer-events:none}.dropdown-menu.show{display:block}.dropdown-header{color:#6c757d;display:block;font-size:.875rem;margin-bottom:0;padding:.5rem 1.5rem;white-space:nowrap}.dropdown-item-text{color:#212529;display:block;padding:.25rem 1.5rem}.btn-group,.btn-group-vertical{display:inline-flex;position:relative;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{flex:1 1 auto;position:relative}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.dropdown-toggle-split{padding-left:.5625rem;padding-right:.5625rem}.dropdown-toggle-split:after,.dropright .dropdown-toggle-split:after,.dropup .dropdown-toggle-split:after{margin-left:0}.dropleft .dropdown-toggle-split:before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-left:.375rem;padding-right:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-left:.75rem;padding-right:.75rem}.btn-group-vertical{align-items:flex-start;flex-direction:column;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{clip:rect(0,0,0,0);pointer-events:none;position:absolute}.input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{flex:1 1 auto;margin-bottom:0;min-width:0;position:relative;width:1%}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-file{align-items:center;display:flex}.input-group-append,.input-group-prepend{display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;color:#495057;display:flex;font-size:1rem;font-weight:400;line-height:1.5;margin-bottom:0;padding:.375rem .75rem;text-align:center;white-space:nowrap}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{font-size:1.25rem;line-height:1.5;padding:.5rem 1rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.custom-control{display:block;min-height:1.5rem;padding-left:1.5rem;position:relative;-webkit-print-color-adjust:exact;print-color-adjust:exact;z-index:1}.custom-control-inline{display:inline-flex;margin-right:1rem}.custom-control-input{height:1.25rem;left:0;opacity:0;position:absolute;width:1rem;z-index:-1}.custom-control-input:checked~.custom-control-label:before{background-color:#0f3e50;border-color:#0f3e50;color:#fff}.custom-control-input:focus~.custom-control-label:before{box-shadow:0 0 0 .2rem rgba(15,62,80,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label:before{border-color:#2391bb}.custom-control-input:not(:disabled):active~.custom-control-label:before{background-color:#38adda;border-color:#38adda;color:#fff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label:before,.custom-control-input[disabled]~.custom-control-label:before{background-color:#e9ecef}.custom-control-label{margin-bottom:0;position:relative;vertical-align:top}.custom-control-label:before{background-color:#fff;border:1px solid #adb5bd;pointer-events:none}.custom-control-label:after,.custom-control-label:before{content:"";display:block;height:1rem;left:-1.5rem;position:absolute;top:.25rem;width:1rem}.custom-control-label:after{background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%23fff' d='m6.564.75-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:before{background-color:#0f3e50;border-color:#0f3e50}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(15,62,80,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label:before{background-color:rgba(15,62,80,.5)}.custom-radio .custom-control-label:before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(15,62,80,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label:before{border-radius:.5rem;left:-2.25rem;pointer-events:all;width:1.75rem}.custom-switch .custom-control-label:after{background-color:#adb5bd;border-radius:.5rem;height:calc(1rem - 4px);left:calc(-2.25rem + 2px);top:calc(.25rem + 2px);transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:calc(1rem - 4px)}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label:after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label:after{background-color:#fff;transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label:before{background-color:rgba(15,62,80,.5)}.custom-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5'%3E%3Cpath fill='%23343a40' d='M2 0 0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:0;color:#495057;display:inline-block;font-size:1rem;font-weight:400;height:calc(1.5em + .75rem + 2px);line-height:1.5;padding:.375rem 1.75rem .375rem .75rem;vertical-align:middle;width:100%}.custom-select:focus{border-color:#2391bb;box-shadow:0 0 0 .2rem rgba(15,62,80,.25);outline:0}.custom-select:focus::-ms-value{background-color:#fff;color:#495057}.custom-select[multiple],.custom-select[size]:not([size="1"]){background-image:none;height:auto;padding-right:.75rem}.custom-select:disabled{background-color:#e9ecef;color:#6c757d}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{font-size:.875rem;height:calc(1.5em + .5rem + 2px);padding-bottom:.25rem;padding-left:.5rem;padding-top:.25rem}.custom-select-lg{font-size:1.25rem;height:calc(1.5em + 1rem + 2px);padding-bottom:.5rem;padding-left:1rem;padding-top:.5rem}.custom-file{display:inline-block;margin-bottom:0}.custom-file,.custom-file-input{height:calc(1.5em + .75rem + 2px);position:relative;width:100%}.custom-file-input{margin:0;opacity:0;overflow:hidden;z-index:2}.custom-file-input:focus~.custom-file-label{border-color:#2391bb;box-shadow:0 0 0 .2rem rgba(15,62,80,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label:after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]:after{content:attr(data-browse)}.custom-file-label{background-color:#fff;border:1px solid #ced4da;font-weight:400;height:calc(1.5em + .75rem + 2px);left:0;overflow:hidden;z-index:1}.custom-file-label,.custom-file-label:after{color:#495057;line-height:1.5;padding:.375rem .75rem;position:absolute;right:0;top:0}.custom-file-label:after{background-color:#e9ecef;border-left:inherit;bottom:0;content:"Browse";display:block;height:calc(1.5em + .75rem);z-index:3}.custom-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent;height:1.4rem;padding:0;width:100%}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(15,62,80,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(15,62,80,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(15,62,80,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background-color:#0f3e50;border:0;height:1rem;margin-top:-.25rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#38adda}.custom-range::-webkit-slider-runnable-track{background-color:#dee2e6;border-color:transparent;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-moz-range-thumb{-moz-appearance:none;appearance:none;background-color:#0f3e50;border:0;height:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#38adda}.custom-range::-moz-range-track{background-color:#dee2e6;border-color:transparent;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-thumb{appearance:none;background-color:#0f3e50;border:0;height:1rem;margin-left:.2rem;margin-right:.2rem;margin-top:0;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;width:1rem}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#38adda}.custom-range::-ms-track{background-color:transparent;border-color:transparent;border-width:.5rem;color:transparent;cursor:pointer;height:.5rem;width:100%}.custom-range::-ms-fill-lower{background-color:#dee2e6}.custom-range::-ms-fill-upper{background-color:#dee2e6;margin-right:15px}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label:before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label:before,.custom-file-label,.custom-select{transition:none}}.nav{display:flex;flex-wrap:wrap;list-style:none;margin-bottom:0;padding-left:0}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;cursor:default;pointer-events:none}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{background-color:transparent;border:1px solid transparent;margin-bottom:-1px}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6;isolation:isolate}.nav-tabs .nav-link.disabled{background-color:transparent;border-color:transparent;color:#6c757d}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{background-color:#fff;border-color:#dee2e6 #dee2e6 #fff;color:#495057}.nav-tabs .dropdown-menu{margin-top:-1px}.nav-pills .nav-link{background:none;border:0}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:#0f3e50;color:#fff}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-basis:0;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{padding:.5rem 1rem;position:relative}.navbar,.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.navbar-brand{display:inline-block;font-size:1.25rem;line-height:inherit;margin-right:1rem;padding-bottom:.3125rem;padding-top:.3125rem;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:flex;flex-direction:column;list-style:none;margin-bottom:0;padding-left:0}.navbar-nav .nav-link{padding-left:0;padding-right:0}.navbar-nav .dropdown-menu{float:none;position:static}.navbar-text{display:inline-block;padding-bottom:.5rem;padding-top:.5rem}.navbar-collapse{align-items:center;flex-basis:100%;flex-grow:1}.navbar-toggler{background-color:transparent;border:1px solid transparent;font-size:1.25rem;line-height:1;padding:.25rem .75rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{background:50%/100% 100% no-repeat;content:"";display:inline-block;height:1.5em;vertical-align:middle;width:1.5em}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-left:0;padding-right:0}}@media (min-width:576px){.navbar-expand-sm{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-left:0;padding-right:0}}@media (min-width:768px){.navbar-expand-md{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-left:0;padding-right:0}}@media (min-width:992px){.navbar-expand-lg{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-left:0;padding-right:0}}@media (min-width:1200px){.navbar-expand-xl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}@media (max-width:1920.98px){.navbar-expand-xxl>.container,.navbar-expand-xxl>.container-fluid,.navbar-expand-xxl>.container-lg,.navbar-expand-xxl>.container-md,.navbar-expand-xxl>.container-sm,.navbar-expand-xxl>.container-xl{padding-left:0;padding-right:0}}@media (min-width:1921px){.navbar-expand-xxl{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand-xxl>.container,.navbar-expand-xxl>.container-fluid,.navbar-expand-xxl>.container-lg,.navbar-expand-xxl>.container-md,.navbar-expand-xxl>.container-sm,.navbar-expand-xxl>.container-xl{flex-wrap:nowrap}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}}.navbar-expand{flex-flow:row nowrap;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-left:0;padding-right:0}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-left:.5rem;padding-right:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand,.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{border-color:rgba(0,0,0,.1);color:rgba(0,0,0,.5)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a,.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand,.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:hsla(0,0%,100%,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:hsla(0,0%,100%,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{border-color:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E")}.navbar-dark .navbar-text{color:hsla(0,0%,100%,.5)}.navbar-dark .navbar-text a,.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{word-wrap:break-word;background-clip:border-box;background-color:#fff;border:1px solid rgba(0,0,0,.125);display:flex;flex-direction:column;min-width:0;position:relative}.card>hr{margin-left:0;margin-right:0}.card>.list-group{border-bottom:inherit;border-top:inherit}.card>.list-group:first-child{border-top-width:0}.card>.list-group:last-child{border-bottom-width:0}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem}.card-subtitle,.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{border-bottom:1px solid rgba(0,0,0,.125);margin-bottom:0}.card-footer,.card-header{background-color:rgba(0,0,0,.03);padding:.75rem 1.25rem}.card-footer{border-top:1px solid rgba(0,0,0,.125)}.card-header-tabs{border-bottom:0;margin-bottom:-.75rem}.card-header-pills,.card-header-tabs{margin-left:-.625rem;margin-right:-.625rem}.card-img-overlay{bottom:0;left:0;padding:1.25rem;position:absolute;right:0;top:0}.card-img,.card-img-bottom,.card-img-top{flex-shrink:0;width:100%}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:flex;flex-flow:row wrap;margin-left:-15px;margin-right:-15px}.card-deck .card{flex:1 0 0%;margin-bottom:0;margin-left:15px;margin-right:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{border-left:0;margin-left:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-moz-column-count:3;column-count:3;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0}.accordion>.card>.card-header{margin-bottom:-1px}.breadcrumb{background-color:#e9ecef;display:flex;flex-wrap:wrap;list-style:none;margin-bottom:1rem;padding:.75rem 1rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item:before{color:#6c757d;content:"/";float:left;padding-right:.5rem}.breadcrumb-item+.breadcrumb-item:hover:before{text-decoration:underline;text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:flex;list-style:none;padding-left:0}.page-link{background-color:#fff;border:1px solid #dee2e6;color:#0f3e50;display:block;line-height:1.25;margin-left:-1px;padding:.5rem .75rem;position:relative}.page-link:hover{background-color:#e9ecef;border-color:#dee2e6;color:#030c10;text-decoration:none;z-index:2}.page-link:focus{box-shadow:0 0 0 .2rem rgba(15,62,80,.25);outline:0;z-index:3}.page-item:first-child .page-link{margin-left:0}.page-item.active .page-link{background-color:#0f3e50;border-color:#0f3e50;color:#fff;z-index:3}.page-item.disabled .page-link{background-color:#fff;border-color:#dee2e6;color:#6c757d;cursor:auto;pointer-events:none}.pagination-lg .page-link{font-size:1.25rem;line-height:1.5;padding:.75rem 1.5rem}.pagination-sm .page-link{font-size:.875rem;line-height:1.5;padding:.25rem .5rem}.badge{display:inline-block;font-size:75%;font-weight:700;line-height:1;padding:.25em .4em;text-align:center;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;vertical-align:baseline;white-space:nowrap}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-left:.6em;padding-right:.6em}.badge-primary{background-color:#0f3e50;color:#fff}a.badge-primary:focus,a.badge-primary:hover{background-color:#071d25;color:#fff}a.badge-primary.focus,a.badge-primary:focus{box-shadow:0 0 0 .2rem rgba(15,62,80,.5);outline:0}.badge-secondary{background-color:#6c757d;color:#fff}a.badge-secondary:focus,a.badge-secondary:hover{background-color:#545b62;color:#fff}a.badge-secondary.focus,a.badge-secondary:focus{box-shadow:0 0 0 .2rem hsla(208,7%,46%,.5);outline:0}.badge-success{background-color:#12b87f;color:#fff}a.badge-success:focus,a.badge-success:hover{background-color:#0d8a5f;color:#fff}a.badge-success.focus,a.badge-success:focus{box-shadow:0 0 0 .2rem rgba(18,184,127,.5);outline:0}.badge-info{background-color:#1090ac;color:#fff}a.badge-info:focus,a.badge-info:hover{background-color:#0c697d;color:#fff}a.badge-info.focus,a.badge-info:focus{box-shadow:0 0 0 .2rem rgba(16,144,172,.5);outline:0}.badge-warning{background-color:#d2ba18;color:#212529}a.badge-warning:focus,a.badge-warning:hover{background-color:#a49113;color:#212529}a.badge-warning.focus,a.badge-warning:focus{box-shadow:0 0 0 .2rem rgba(210,186,24,.5);outline:0}.badge-danger{background-color:#d24418;color:#fff}a.badge-danger:focus,a.badge-danger:hover{background-color:#a43513;color:#fff}a.badge-danger.focus,a.badge-danger:focus{box-shadow:0 0 0 .2rem rgba(210,68,24,.5);outline:0}.badge-light{background-color:#f8f9fa;color:#212529}a.badge-light:focus,a.badge-light:hover{background-color:#dae0e5;color:#212529}a.badge-light.focus,a.badge-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5);outline:0}.badge-dark{background-color:#343a40;color:#fff}a.badge-dark:focus,a.badge-dark:hover{background-color:#1d2124;color:#fff}a.badge-dark.focus,a.badge-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5);outline:0}.jumbotron{background-color:#e9ecef;margin-bottom:2rem;padding:2rem 1rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-left:0;padding-right:0}.alert{border:1px solid transparent;margin-bottom:1rem;padding:.75rem 1.25rem;position:relative}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{color:inherit;padding:.75rem 1.25rem;position:absolute;right:0;top:0;z-index:2}.alert-primary{background-color:#cfd8dc;border-color:#bcc9ce;color:#08202a}.alert-primary hr{border-top-color:#adbdc3}.alert-primary .alert-link{color:#000}.alert-secondary{background-color:#e2e3e5;border-color:#d6d8db;color:#383d41}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{background-color:#d0f1e5;border-color:#bdebdb;color:#096042}.alert-success hr{border-top-color:#a9e5d0}.alert-success .alert-link{color:#053122}.alert-info{background-color:#cfe9ee;border-color:#bce0e8;color:#084b59}.alert-info hr{border-top-color:#a9d7e1}.alert-info .alert-link{color:#04242a}.alert-warning{background-color:#f6f1d1;border-color:#f2ecbe;color:#6d610c}.alert-warning hr{border-top-color:#eee6a9}.alert-warning .alert-link{color:#3f3807}.alert-danger{background-color:#f6dad1;border-color:#f2cbbe;color:#6d230c}.alert-danger hr{border-top-color:#eebaa9}.alert-danger .alert-link{color:#3f1407}.alert-light{background-color:#fefefe;border-color:#fdfdfe;color:#818182}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{background-color:#d6d8d9;border-color:#c6c8ca;color:#1b1e21}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@keyframes progress-bar-stripes{0%{background-position:1rem 0}to{background-position:0 0}}.progress{background-color:#e9ecef;font-size:.75rem;height:1rem;line-height:0}.progress,.progress-bar{display:flex;overflow:hidden}.progress-bar{background-color:#0f3e50;color:#fff;flex-direction:column;justify-content:center;text-align:center;transition:width .6s ease;white-space:nowrap}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,hsla(0,0%,100%,.15) 25%,transparent 0,transparent 50%,hsla(0,0%,100%,.15) 0,hsla(0,0%,100%,.15) 75%,transparent 0,transparent);background-size:1rem 1rem}.progress-bar-animated{animation:progress-bar-stripes 1s linear infinite}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.media{align-items:flex-start;display:flex}.media-body{flex:1}.list-group{display:flex;flex-direction:column;margin-bottom:0;padding-left:0}.list-group-item-action{color:#495057;text-align:inherit;width:100%}.list-group-item-action:focus,.list-group-item-action:hover{background-color:#f8f9fa;color:#495057;text-decoration:none;z-index:1}.list-group-item-action:active{background-color:#e9ecef;color:#212529}.list-group-item{background-color:#fff;border:1px solid rgba(0,0,0,.125);display:block;padding:.75rem 1.25rem;position:relative}.list-group-item.disabled,.list-group-item:disabled{background-color:#fff;color:#6c757d;pointer-events:none}.list-group-item.active{background-color:#0f3e50;border-color:#0f3e50;color:#fff;z-index:2}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{border-top-width:1px;margin-top:-1px}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-md>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}@media (min-width:1921px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-left-width:0;border-top-width:1px}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{border-left-width:1px;margin-left:-1px}}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{background-color:#bcc9ce;color:#08202a}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{background-color:#adbdc3;color:#08202a}.list-group-item-primary.list-group-item-action.active{background-color:#08202a;border-color:#08202a;color:#fff}.list-group-item-secondary{background-color:#d6d8db;color:#383d41}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{background-color:#c8cbcf;color:#383d41}.list-group-item-secondary.list-group-item-action.active{background-color:#383d41;border-color:#383d41;color:#fff}.list-group-item-success{background-color:#bdebdb;color:#096042}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{background-color:#a9e5d0;color:#096042}.list-group-item-success.list-group-item-action.active{background-color:#096042;border-color:#096042;color:#fff}.list-group-item-info{background-color:#bce0e8;color:#084b59}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{background-color:#a9d7e1;color:#084b59}.list-group-item-info.list-group-item-action.active{background-color:#084b59;border-color:#084b59;color:#fff}.list-group-item-warning{background-color:#f2ecbe;color:#6d610c}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{background-color:#eee6a9;color:#6d610c}.list-group-item-warning.list-group-item-action.active{background-color:#6d610c;border-color:#6d610c;color:#fff}.list-group-item-danger{background-color:#f2cbbe;color:#6d230c}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{background-color:#eebaa9;color:#6d230c}.list-group-item-danger.list-group-item-action.active{background-color:#6d230c;border-color:#6d230c;color:#fff}.list-group-item-light{background-color:#fdfdfe;color:#818182}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{background-color:#ececf6;color:#818182}.list-group-item-light.list-group-item-action.active{background-color:#818182;border-color:#818182;color:#fff}.list-group-item-dark{background-color:#c6c8ca;color:#1b1e21}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{background-color:#b9bbbe;color:#1b1e21}.list-group-item-dark.list-group-item-action.active{background-color:#1b1e21;border-color:#1b1e21;color:#fff}.close{color:#000;float:right;font-size:1.5rem;font-weight:700;line-height:1;opacity:.5;text-shadow:0 1px 0 #fff}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{background-color:transparent;border:0;padding:0}a.close.disabled{pointer-events:none}.toast{background-clip:padding-box;background-color:hsla(0,0%,100%,.85);border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);flex-basis:350px;font-size:.875rem;max-width:350px;opacity:0}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{align-items:center;background-clip:padding-box;background-color:hsla(0,0%,100%,.85);border-bottom:1px solid rgba(0,0,0,.05);color:#6c757d;display:flex;padding:.25rem .75rem}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{display:none;height:100%;left:0;outline:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:1050}.modal-dialog{margin:.5rem;pointer-events:none;position:relative;width:auto}.modal.fade .modal-dialog{transform:translateY(-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{align-items:center;display:flex;min-height:calc(100% - 1rem)}.modal-dialog-centered:before{content:"";display:block;height:calc(100vh - 1rem);height:-moz-min-content;height:min-content}.modal-dialog-centered.modal-dialog-scrollable{flex-direction:column;height:100%;justify-content:center}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable:before{content:none}.modal-content{background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);display:flex;flex-direction:column;outline:0;pointer-events:auto;position:relative;width:100%}.modal-backdrop{background-color:#000;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1040}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{align-items:flex-start;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1rem}.modal-header .close{margin:-1rem -1rem -1rem auto;padding:1rem}.modal-title{line-height:1.5;margin-bottom:0}.modal-body{flex:1 1 auto;padding:1rem;position:relative}.modal-footer{align-items:center;border-top:1px solid #dee2e6;display:flex;flex-wrap:wrap;justify-content:flex-end;padding:.75rem}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{height:50px;overflow:scroll;position:absolute;top:-9999px;width:50px}@media (min-width:576px){.modal-dialog{margin:1.75rem auto;max-width:500px}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered:before{height:calc(100vh - 3.5rem);height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{word-wrap:break-word;display:block;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;font-style:normal;font-weight:400;letter-spacing:normal;line-break:auto;line-height:1.5;margin:0;opacity:0;position:absolute;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;z-index:1070}.tooltip.show{opacity:.9}.tooltip .arrow{display:block;height:.4rem;position:absolute;width:.8rem}.tooltip .arrow:before{border-color:transparent;border-style:solid;content:"";position:absolute}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow:before,.bs-tooltip-top .arrow:before{border-top-color:#000;border-width:.4rem .4rem 0;top:0}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{height:.8rem;left:0;width:.4rem}.bs-tooltip-auto[x-placement^=right] .arrow:before,.bs-tooltip-right .arrow:before{border-right-color:#000;border-width:.4rem .4rem .4rem 0;right:0}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow:before,.bs-tooltip-bottom .arrow:before{border-bottom-color:#000;border-width:0 .4rem .4rem;bottom:0}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{height:.8rem;right:0;width:.4rem}.bs-tooltip-auto[x-placement^=left] .arrow:before,.bs-tooltip-left .arrow:before{border-left-color:#000;border-width:.4rem 0 .4rem .4rem;left:0}.tooltip-inner{background-color:#000;color:#fff;max-width:200px;padding:.25rem .5rem;text-align:center}.popover{word-wrap:break-word;background-clip:padding-box;background-color:#fff;border:1px solid rgba(0,0,0,.2);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Liberation Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-size:.875rem;font-style:normal;font-weight:400;left:0;letter-spacing:normal;line-break:auto;line-height:1.5;max-width:276px;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;top:0;white-space:normal;word-break:normal;word-spacing:normal;z-index:1060}.popover,.popover .arrow{display:block;position:absolute}.popover .arrow{height:.5rem;margin:0 .3rem;width:1rem}.popover .arrow:after,.popover .arrow:before{border-color:transparent;border-style:solid;content:"";display:block;position:absolute}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow:before,.bs-popover-top>.arrow:before{border-top-color:rgba(0,0,0,.25);border-width:.5rem .5rem 0;bottom:0}.bs-popover-auto[x-placement^=top]>.arrow:after,.bs-popover-top>.arrow:after{border-top-color:#fff;border-width:.5rem .5rem 0;bottom:1px}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{height:1rem;left:calc(-.5rem - 1px);margin:.3rem 0;width:.5rem}.bs-popover-auto[x-placement^=right]>.arrow:before,.bs-popover-right>.arrow:before{border-right-color:rgba(0,0,0,.25);border-width:.5rem .5rem .5rem 0;left:0}.bs-popover-auto[x-placement^=right]>.arrow:after,.bs-popover-right>.arrow:after{border-right-color:#fff;border-width:.5rem .5rem .5rem 0;left:1px}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow:before,.bs-popover-bottom>.arrow:before{border-bottom-color:rgba(0,0,0,.25);border-width:0 .5rem .5rem;top:0}.bs-popover-auto[x-placement^=bottom]>.arrow:after,.bs-popover-bottom>.arrow:after{border-bottom-color:#fff;border-width:0 .5rem .5rem;top:1px}.bs-popover-auto[x-placement^=bottom] .popover-header:before,.bs-popover-bottom .popover-header:before{border-bottom:1px solid #f7f7f7;content:"";display:block;left:50%;margin-left:-.5rem;position:absolute;top:0;width:1rem}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{height:1rem;margin:.3rem 0;right:calc(-.5rem - 1px);width:.5rem}.bs-popover-auto[x-placement^=left]>.arrow:before,.bs-popover-left>.arrow:before{border-left-color:rgba(0,0,0,.25);border-width:.5rem 0 .5rem .5rem;right:0}.bs-popover-auto[x-placement^=left]>.arrow:after,.bs-popover-left>.arrow:after{border-left-color:#fff;border-width:.5rem 0 .5rem .5rem;right:1px}.popover-header{background-color:#f7f7f7;border-bottom:1px solid #ebebeb;font-size:1rem;margin-bottom:0;padding:.5rem .75rem}.popover-header:empty{display:none}.popover-body{color:#212529;padding:.5rem .75rem}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{overflow:hidden;position:relative;width:100%}.carousel-inner:after{clear:both;content:"";display:block}.carousel-item{backface-visibility:hidden;display:none;float:left;margin-right:-100%;position:relative;transition:transform .6s ease-in-out;width:100%}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transform:none;transition-property:opacity}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{opacity:1;z-index:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{opacity:0;transition:opacity 0s .6s;z-index:0}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{align-items:center;background:none;border:0;bottom:0;color:#fff;display:flex;justify-content:center;opacity:.5;padding:0;position:absolute;text-align:center;top:0;transition:opacity .15s ease;width:15%;z-index:1}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;opacity:.9;outline:0;text-decoration:none}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{background:50%/100% 100% no-repeat;display:inline-block;height:20px;width:20px}.carousel-control-prev-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m5.25 0-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3E%3C/svg%3E")}.carousel-control-next-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8'%3E%3Cpath d='m2.75 0-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3E%3C/svg%3E")}.carousel-indicators{bottom:0;display:flex;justify-content:center;left:0;list-style:none;margin-left:15%;margin-right:15%;padding-left:0;position:absolute;right:0;z-index:15}.carousel-indicators li{background-clip:padding-box;background-color:#fff;border-bottom:10px solid transparent;border-top:10px solid transparent;box-sizing:content-box;cursor:pointer;flex:0 1 auto;height:3px;margin-left:3px;margin-right:3px;opacity:.5;text-indent:-999px;transition:opacity .6s ease;width:30px}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{bottom:20px;color:#fff;left:15%;padding-bottom:20px;padding-top:20px;position:absolute;right:15%;text-align:center;z-index:10}@keyframes spinner-border{to{transform:rotate(1turn)}}.spinner-border{animation:spinner-border .75s linear infinite;border:.25em solid;border-radius:50%;border-right:.25em solid transparent;display:inline-block;height:2rem;vertical-align:-.125em;width:2rem}.spinner-border-sm{border-width:.2em;height:1rem;width:1rem}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{animation:spinner-grow .75s linear infinite;background-color:currentcolor;border-radius:50%;display:inline-block;height:2rem;opacity:0;vertical-align:-.125em;width:2rem}.spinner-grow-sm{height:1rem;width:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#0f3e50!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#071d25!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#12b87f!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#0d8a5f!important}.bg-info{background-color:#1090ac!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#0c697d!important}.bg-warning{background-color:#d2ba18!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#a49113!important}.bg-danger{background-color:#d24418!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#a43513!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#0f3e50!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#12b87f!important}.border-info{border-color:#1090ac!important}.border-warning{border-color:#d2ba18!important}.border-danger{border-color:#d24418!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important}.rounded-right,.rounded-top{border-top-right-radius:.25rem!important}.rounded-bottom,.rounded-right{border-bottom-right-radius:.25rem!important}.rounded-bottom,.rounded-left{border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix:after{clear:both;content:"";display:block}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}}@media (min-width:1921px){.d-xxl-none{display:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}}.embed-responsive{display:block;overflow:hidden;padding:0;position:relative;width:100%}.embed-responsive:before{content:"";display:block}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{border:0;bottom:0;height:100%;left:0;position:absolute;top:0;width:100%}.embed-responsive-21by9:before{padding-top:42.85714286%}.embed-responsive-16by9:before{padding-top:56.25%}.embed-responsive-4by3:before{padding-top:75%}.embed-responsive-1by1:before{padding-top:100%}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-fill{flex:1 1 auto!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}@media (min-width:576px){.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}}@media (min-width:768px){.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}}@media (min-width:1921px){.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}@media (min-width:1921px){.float-xxl-left{float:left!important}.float-xxl-right{float:right!important}.float-xxl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:sticky!important}.fixed-top{top:0}.fixed-bottom,.fixed-top{left:0;position:fixed;right:0;z-index:1030}.fixed-bottom{bottom:0}@supports (position:sticky){.sticky-top{position:sticky;top:0;z-index:1020}}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;overflow:visible;position:static;white-space:normal;width:auto}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}@media (min-width:1921px){.m-xxl-0{margin:0!important}.mt-xxl-0,.my-xxl-0{margin-top:0!important}.mr-xxl-0,.mx-xxl-0{margin-right:0!important}.mb-xxl-0,.my-xxl-0{margin-bottom:0!important}.ml-xxl-0,.mx-xxl-0{margin-left:0!important}.m-xxl-1{margin:.25rem!important}.mt-xxl-1,.my-xxl-1{margin-top:.25rem!important}.mr-xxl-1,.mx-xxl-1{margin-right:.25rem!important}.mb-xxl-1,.my-xxl-1{margin-bottom:.25rem!important}.ml-xxl-1,.mx-xxl-1{margin-left:.25rem!important}.m-xxl-2{margin:.5rem!important}.mt-xxl-2,.my-xxl-2{margin-top:.5rem!important}.mr-xxl-2,.mx-xxl-2{margin-right:.5rem!important}.mb-xxl-2,.my-xxl-2{margin-bottom:.5rem!important}.ml-xxl-2,.mx-xxl-2{margin-left:.5rem!important}.m-xxl-3{margin:1rem!important}.mt-xxl-3,.my-xxl-3{margin-top:1rem!important}.mr-xxl-3,.mx-xxl-3{margin-right:1rem!important}.mb-xxl-3,.my-xxl-3{margin-bottom:1rem!important}.ml-xxl-3,.mx-xxl-3{margin-left:1rem!important}.m-xxl-4{margin:1.5rem!important}.mt-xxl-4,.my-xxl-4{margin-top:1.5rem!important}.mr-xxl-4,.mx-xxl-4{margin-right:1.5rem!important}.mb-xxl-4,.my-xxl-4{margin-bottom:1.5rem!important}.ml-xxl-4,.mx-xxl-4{margin-left:1.5rem!important}.m-xxl-5{margin:3rem!important}.mt-xxl-5,.my-xxl-5{margin-top:3rem!important}.mr-xxl-5,.mx-xxl-5{margin-right:3rem!important}.mb-xxl-5,.my-xxl-5{margin-bottom:3rem!important}.ml-xxl-5,.mx-xxl-5{margin-left:3rem!important}.p-xxl-0{padding:0!important}.pt-xxl-0,.py-xxl-0{padding-top:0!important}.pr-xxl-0,.px-xxl-0{padding-right:0!important}.pb-xxl-0,.py-xxl-0{padding-bottom:0!important}.pl-xxl-0,.px-xxl-0{padding-left:0!important}.p-xxl-1{padding:.25rem!important}.pt-xxl-1,.py-xxl-1{padding-top:.25rem!important}.pr-xxl-1,.px-xxl-1{padding-right:.25rem!important}.pb-xxl-1,.py-xxl-1{padding-bottom:.25rem!important}.pl-xxl-1,.px-xxl-1{padding-left:.25rem!important}.p-xxl-2{padding:.5rem!important}.pt-xxl-2,.py-xxl-2{padding-top:.5rem!important}.pr-xxl-2,.px-xxl-2{padding-right:.5rem!important}.pb-xxl-2,.py-xxl-2{padding-bottom:.5rem!important}.pl-xxl-2,.px-xxl-2{padding-left:.5rem!important}.p-xxl-3{padding:1rem!important}.pt-xxl-3,.py-xxl-3{padding-top:1rem!important}.pr-xxl-3,.px-xxl-3{padding-right:1rem!important}.pb-xxl-3,.py-xxl-3{padding-bottom:1rem!important}.pl-xxl-3,.px-xxl-3{padding-left:1rem!important}.p-xxl-4{padding:1.5rem!important}.pt-xxl-4,.py-xxl-4{padding-top:1.5rem!important}.pr-xxl-4,.px-xxl-4{padding-right:1.5rem!important}.pb-xxl-4,.py-xxl-4{padding-bottom:1.5rem!important}.pl-xxl-4,.px-xxl-4{padding-left:1.5rem!important}.p-xxl-5{padding:3rem!important}.pt-xxl-5,.py-xxl-5{padding-top:3rem!important}.pr-xxl-5,.px-xxl-5{padding-right:3rem!important}.pb-xxl-5,.py-xxl-5{padding-bottom:3rem!important}.pl-xxl-5,.px-xxl-5{padding-left:3rem!important}.m-xxl-n1{margin:-.25rem!important}.mt-xxl-n1,.my-xxl-n1{margin-top:-.25rem!important}.mr-xxl-n1,.mx-xxl-n1{margin-right:-.25rem!important}.mb-xxl-n1,.my-xxl-n1{margin-bottom:-.25rem!important}.ml-xxl-n1,.mx-xxl-n1{margin-left:-.25rem!important}.m-xxl-n2{margin:-.5rem!important}.mt-xxl-n2,.my-xxl-n2{margin-top:-.5rem!important}.mr-xxl-n2,.mx-xxl-n2{margin-right:-.5rem!important}.mb-xxl-n2,.my-xxl-n2{margin-bottom:-.5rem!important}.ml-xxl-n2,.mx-xxl-n2{margin-left:-.5rem!important}.m-xxl-n3{margin:-1rem!important}.mt-xxl-n3,.my-xxl-n3{margin-top:-1rem!important}.mr-xxl-n3,.mx-xxl-n3{margin-right:-1rem!important}.mb-xxl-n3,.my-xxl-n3{margin-bottom:-1rem!important}.ml-xxl-n3,.mx-xxl-n3{margin-left:-1rem!important}.m-xxl-n4{margin:-1.5rem!important}.mt-xxl-n4,.my-xxl-n4{margin-top:-1.5rem!important}.mr-xxl-n4,.mx-xxl-n4{margin-right:-1.5rem!important}.mb-xxl-n4,.my-xxl-n4{margin-bottom:-1.5rem!important}.ml-xxl-n4,.mx-xxl-n4{margin-left:-1.5rem!important}.m-xxl-n5{margin:-3rem!important}.mt-xxl-n5,.my-xxl-n5{margin-top:-3rem!important}.mr-xxl-n5,.mx-xxl-n5{margin-right:-3rem!important}.mb-xxl-n5,.my-xxl-n5{margin-bottom:-3rem!important}.ml-xxl-n5,.mx-xxl-n5{margin-left:-3rem!important}.m-xxl-auto{margin:auto!important}.mt-xxl-auto,.my-xxl-auto{margin-top:auto!important}.mr-xxl-auto,.mx-xxl-auto{margin-right:auto!important}.mb-xxl-auto,.my-xxl-auto{margin-bottom:auto!important}.ml-xxl-auto,.mx-xxl-auto{margin-left:auto!important}}.stretched-link:after{background-color:transparent;bottom:0;content:"";left:0;pointer-events:auto;position:absolute;right:0;top:0;z-index:1}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1921px){.text-xxl-left{text-align:left!important}.text-xxl-right{text-align:right!important}.text-xxl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#0f3e50!important}a.text-primary:focus,a.text-primary:hover{color:#030c10!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#12b87f!important}a.text-success:focus,a.text-success:hover{color:#0b724f!important}.text-info{color:#1090ac!important}a.text-info:focus,a.text-info:hover{color:#095566!important}.text-warning{color:#d2ba18!important}a.text-warning:focus,a.text-warning:hover{color:#8d7d10!important}.text-danger{color:#d24418!important}a.text-danger:focus,a.text-danger:hover{color:#8d2e10!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:hsla(0,0%,100%,.5)!important}.text-hide{background-color:transparent;border:0;color:transparent;font:0/0 a;text-shadow:none}.text-decoration-none{text-decoration:none!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,:after,:before{box-shadow:none!important;text-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]:after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd}blockquote,img,pre,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}.container,body{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{border-color:#dee2e6;color:inherit}}html{min-height:100%;overflow-x:hidden}.mvh-100,body{min-height:100vh}.mvh-100c{min-height:calc(100vh - 56px)}.invert{filter:invert(100%)}.btn-danger,.btn-warning{color:#fefefe}.btn-danger:hover,.btn-warning:hover{color:#e2e2e2}.btn-secondary.focus,.btn-secondary:focus{background-color:var(--button-active)!important;border:none;box-shadow:none!important}@media (max-width:575.98px){.btn-block-xs-only{display:block;width:100%}}.row.equal-height{display:flex;flex-wrap:wrap}.row.equal-height>[class*=col-]{display:flex;flex-direction:column}.col-12.col-lg-10.col-xl-6.mt-3.mt-lg-5.mb-3.mx-auto .card-img-top{margin:10px;width:auto}.stats-card{margin-top:1rem}.card{border:1px solid var(--card-line);border-radius:var(--border-radius);box-shadow:0 20px 30px -15px var(--shadow);flex:1}.card,.card-header{background-color:var(--card)!important}.card-header{font-weight:800;margin:0 20px;padding:12px 0}.card .nav-tabs,.card-header{border-bottom:3px solid var(--card-line)}.card .nav-tabs .nav-item.nav-link{background-color:var(--button);border:none;border-radius:var(--border-radius);margin:5px}.card .nav-tabs .nav-item.nav-link:hover{background-color:var(--button-hover)}.card .nav-tabs .nav-item.nav-link.active{background-color:var(--button-active);font-weight:400}.card-footer{background-color:var(--card);border-radius:0 0 var(--border-radius) var(--border-radius);border-top:3px solid var(--card-line);margin:0 20px;padding:12px 0}.card .card-footer .pagination{justify-content:flex-end!important;margin-bottom:0}.card .card-footer:empty{display:none}.nav-dark .dropdown-item,.nav-dark .nav-link{color:hsla(0,0%,100%,.5);cursor:pointer}.nav-dark .dropdown-item.disabled,.nav-dark .nav-link.disabled{color:#495057;cursor:no-drop}.nav-dark .dropdown-item.disabled:hover,.nav-dark .nav-link.disabled:hover{color:#6c757d}.nav-dark .dropdown-item.active,.nav-dark .dropdown-item:focus,.nav-dark .dropdown-item:hover,.nav-dark .nav-link.active,.nav-dark .nav-link:focus,.nav-dark .nav-link:hover{color:#ced4da}.navbar-nav .nav-link{padding:0}.navbar-nav>.nav-item:first-child{align-items:center;display:flex}.nav-item:nth-child(2) .nav-link{padding-right:0}.text-light-grey{color:#dee2e6!important}.bg-blue-grey{background-color:#6e7982!important}.border-blue-grey{border-color:#6e7982!important}.text-blue-grey{color:#6e7982!important}.text-strike{text-decoration:line-through}.text-light,a,button,div,h1,h2,h3,h4,h5,h6,p,pre,select,span,td,th{color:var(--text-color)!important}a.font-italic,a.font-italic:hover{color:var(--link)!important}.url{color:var(--text-url)!important}.url:hover{color:var(--text-url-hover)!important}.alert-default{background-color:rgba(0,0,0,.03);border-color:rgba(0,0,0,.125);border-width:1px 0}.alert{border-radius:8px}.alert-danger{background-color:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.alert-info{background-color:var(--info)!important;border-color:var(--info)!important;color:#fff!important}.alert-warning{background-color:var(--warning)!important;border-color:var(--warning)!important;color:#fff!important}.alert-success{background-color:var(--success)!important;border-color:var(--success)!important;color:#fff!important}.status .card:last-of-type{margin-bottom:0!important}.table.border-top-0 th{border-top:0}.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_length{padding-left:15px}.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_paginate{padding-right:15px}.card-img-top:hover,.img-thumbnail:hover{background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAAAAAA6mKC9AAAAGElEQVQYV2N4DwX/oYBhgARgDJjEAAkAAEC99wFuu0VFAAAAAElFTkSuQmCC")}.badge.last-modified{white-space:pre-line}@media (max-width:620px){.pagination{overflow-y:scroll}}@media (max-width:1080px){.sidebar-section{flex-basis:25%}}.image-card-column{display:flex;flex-flow:wrap;gap:.5rem}.image-card-column .card{flex-basis:18%}.image-card-column .card .card-img-top{max-height:250px;-o-object-fit:cover;object-fit:cover}.select2-dropdown{border-color:var(--input-border)}.select2-results__options{display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,.select2-results__option--selectable{background:var(--button);border-radius:var(--border-radius);color:var(--text-color)}.select2-container--default .select2-results>.select2-results__options{max-height:100%}.select2-container--default .select2-search--inline .select2-search__field{color:var(--text-color)}.select2-container--default .select2-selection--multiple{background:var(--body-background);border-color:var(--input-border)}.select2-container--default .select2-results__option--selected{background:var(--button-active)}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{border-color:var(--input-border)}.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable:hover,.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:focus,.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{background:var(--button-hover)}.select2-container--default .select2-selection--multiple .select2-selection__choice{background:var(--button);border-color:var(--input-border)}@media (max-width:1440px){.image-card-column .card{flex-basis:30%}}@media (max-width:576px){.image-card-column .card{flex-basis:45%}}@media (max-width:400px){.image-card-column .card{flex-basis:100%}}:root{--body-background:#f8f9fa;--scrollbar-track:#f8f9fa;--scrollbar-thumb:#e1e1e1;--border-radius:8px;--text-color:#212529;--text-url:#209de0;--text-url-hover:#00a6ff;--text-disabled:#6c757d;--nav:#efeded;--nav-mobile-menu-icon:invert(1);--logo-color:#000;--svg:#212529;--svg-hover:#636d76;--button:#efeded;--button-hover:#e1e1e1;--button-active:#d2d2d2;--pagination-page-item:#efeded;--pagination-page-item-hover:#e1e1e1;--pagination-page-item-active:#d2d2d2;--in-card-pagination-page-item-hover:#e1e1e1;--input-border:#d8d8d8;--card:#fff;--card-line:#efeded;--card-in-card:#efeded;--card-in-card-line:#fff;--shadow:#b9b9b9;--link:#36c;--table-item-odd:#efeded90}:root.darkmode{--body-background:#14181f;--scrollbar-track:#14181f;--scrollbar-thumb:#293044;--text-color:#fff;--text-disabled:#6c757d;--nav:#1e2433;--nav-mobile-menu-icon:invert(0);--logo-color:#fff;--svg:#ced4da;--svg-hover:#b2bac2;--button:#293044;--button-hover:#35405e;--button-active:#49577e;--pagination-page-item:#293044;--pagination-page-item-hover:#35405e;--pagination-page-item-active:#49577e;--in-card-pagination-page-item-hover:#35405e;--input-border:#252f42;--card:#1d2330;--card-line:#252f42;--shadow:#0a0c11;--table-item-odd:#29304490}:root.spacetheme{--body-background:#0a0a0a;--scrollbar-track:#0a0a0a;--scrollbar-thumb:#878cff;--scrollbar-thumb-hover:#666cff;--text-color:#fff;--text-disabled:#6c757d;--nav:#141414;--nav-mobile-menu-icon:invert(0);--logo-color:#666cff;--svg:#878cff;--svg-hover:#666cff;--button:#1e1e1e;--button-hover:#1e1e1e;--button-active:#0a0a0a;--pagination-page-item:#1e1e1e;--pagination-page-item-hover:#141414;--pagination-page-item-active:#666cff;--in-card-pagination-page-item-hover:#1a1a1a;--input-border:#1e1e1e;--card:#111;--card-line:#1e1e1e;--card-in-card:#1e1e1e;--card-in-card-line:#111;--shadow:#0a0c11;--table-item-odd:#29304490}*{scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:14px}::-webkit-scrollbar{width:14px}::-webkit-scrollbar-thumb,::-webkit-scrollbar-track{border-radius:var(--border-radius)}::-webkit-scrollbar-thumb{background-clip:content-box;background-color:var(--scrollbar-thumb);border:4px solid transparent}::-webkit-scrollbar-thumb:hover{background-color:#35405e}.bg-dark{background-color:#14181f!important}.col-12.col-sm-8.col-md-5.col-xl-3.col-xxl-2.mx-auto.mt-5 img{max-width:180px!important}.col-12.col-sm-8.col-md-5.col-xl-3.col-xxl-2.mx-auto.mt-5 .card-header{background-color:#1d2330!important;border-bottom:3px solid #252f42!important;color:#dee2e6!important}.col-12.col-sm-8.col-md-5.col-xl-3.col-xxl-2.mx-auto.mt-5 .card{background-color:#1d2330!important;border:none;border-radius:8px;box-shadow:0 20px 30px 0 #0a0c11}.col-12.col-sm-8.col-md-5.col-xl-3.col-xxl-2.mx-auto.mt-5 .card-body p{color:#dee2e6!important}.col-12.col-sm-8.col-md-5.col-xl-3.col-xxl-2.mx-auto.mt-5 .card-body .btn-block{background-color:#293044!important;border:none;border-radius:8px;color:#dee2e6!important}.col-12.col-sm-8.col-md-5.col-xl-3.col-xxl-2.mx-auto.mt-5 .card-body .btn-block:hover{background-color:#35405e!important;border-radius:8px}.bg-light{background-color:var(--body-background)!important}hr{border-top:3px solid var(--card-line)}.divider{border-top:3px solid var(--card);margin:5px 0}.divider,.divider-vertical{border-radius:var(--border-radius)}.divider-vertical{border-right:3px solid var(--card)}.bg-dark.nav-dark{background-color:var(--nav)!important}.logo{color:var(--logo-color)!important}.nav-link.active{font-weight:700}.nav-link.disabled *{color:var(--text-disabled)!important}.nav-link.text-muted{color:var(--text-color)!important}.bg-blue-grey{background-color:var(--nav)!important}.navbar-dark .navbar-brand{font-weight:600}.dropdown-menu{animation:growDown .3s ease-in-out forwards;background-color:var(--nav);box-shadow:0 20px 30px 0 var(--shadow);margin:1.125rem 0 0;padding:5px;transform-origin:top center;z-index:1000}.dropdown-menu,.navbar-toggler{border:none;border-radius:var(--border-radius)}.navbar-toggler{background-color:var(--button-active)}.navbar-dark .navbar-toggler-icon{filter:var(--nav-mobile-menu-icon)}.dropdown-divider{border-top:3px solid var(--card);margin:5px 0}.dropdown-item{border-radius:8px;color:var(--text-color)}.dropdown-item:is(:hover,:focus){background-color:var(--button-hover)!important}@keyframes growDown{0%{transform:scaleY(0)}80%{transform:scaleY(1.1)}to{transform:scaleY(1)}}.nav-link.small{color:var(--text-disabled)!important}.popover{border:none;border-radius:var(--border-radius)}.popover,.popover-header{background-color:var(--button-hover)}.popover-header{border:none;border-bottom:3px solid var(--card-line);border-radius:var(--border-radius) var(--border-radius) 0 0}.popover-header:before{border:none!important}.popover .arrow:after,.popover .arrow:before,.popover-header .arrow:after,.popover-header .arrow:before{border-bottom-color:var(--button-hover)!important;border-top-color:var(--button-hover)!important}.modal-open{padding:0!important}.modal-content{background-color:var(--card);border-radius:var(--border-radius);box-shadow:0 20px 30px -15px var(--shadow)}.modal-header{border-bottom:3px solid var(--card-line);margin:0 20px;padding:16px 0}.modal-body{margin:0 20px;padding:12px 0}.input-group-text{background-color:transparent;border:none;margin-right:.625rem;padding:0}.modal-footer{border-top:3px solid var(--card-line);justify-content:space-between;margin:0 20px;padding:12px 0}textarea.form-control{height:auto;max-height:235px;min-height:41px}.modal-footer .btn-close,.modal-footer .btn-upload{margin:0}.modal-content .btn-primary{background-color:var(--info);border:none;border-radius:var(--border-radius);color:#fff!important}.modal-content .btn-primary:hover{background-color:#13aed0;border-radius:var(--border-radius)}.dataTables_wrapper{margin:0 20px}table{border-spacing:0 5px!important}.table thead th{border-bottom:none}.dataTables_filter,.dataTables_info,.dataTables_length,.dataTables_paginate{padding-left:0!important;padding-right:0!important}.table .btn-outline-primary{border:none}.table .btn-outline-primary,.table .btn-outline-secondary{background-color:transparent!important}.table td,.table th{border-top:none}table.dataTable.table-striped>tbody>tr.odd>*{background-color:var(--table-item-odd);box-shadow:none}tr.even{background-color:var(--button)!important}.table td,.table th{vertical-align:middle!important}tr:is(.odd,.even) td:first-of-type{border-radius:var(--border-radius) 0 0 var(--border-radius);margin-top:10px}tr:is(.odd,.even) td:last-of-type{border-radius:0 var(--border-radius) var(--border-radius) 0;margin-top:10px}.paginate_button.page-item .page-link,.pagination .page-link{background-color:var(--pagination-page-item)!important;border:none;border-radius:var(--border-radius);margin:0 3px!important}.paginate_button.page-item .page-link:hover,.pagination .page-link:hover{background-color:var(--pagination-page-item-hover)!important}.card .paginate_button.page-item .page-link:hover,.card .pagination .page-link:hover{background-color:var(--in-card-pagination-page-item-hover)!important}.paginate_button.page-item.active .page-link,.pagination .page-item.active .page-link,.pagination .page-link.active{background-color:var(--pagination-page-item-active)!important}.page-item.next.disabled .page-link,.pagination .page-item.disabled .page-link,.pagination .page-link.disabled{color:var(--text-disabled)!important}.btn-primary{color:#fff!important}.btn-outline-dark,.btn-outline-primary,.btn-outline-secondary,.btn-secondary{background-color:var(--button);border:none;border-radius:var(--border-radius);color:var(--text-color)}.btn-dark{background-color:var(--button-active);border:none;border-radius:var(--border-radius)}.btn-dark:hover,.btn-outline-dark:hover,.btn-outline-primary:hover,.btn-outline-secondary:hover,.btn-secondary:hover{background-color:var(--button-hover);color:var(--text-color)}.btn-outline-dark:active,.btn-outline-primary:active,.btn-outline-secondary:active,.btn-secondary:active{background-color:var(--button-active)!important}.btn-danger,.btn-outline-danger{background-color:var(--button);border:3px solid var(--danger);border-radius:var(--border-radius);color:var(--danger)!important}.btn-danger:hover,.btn-outline-danger:hover{background-color:var(--danger)!important;border-color:var(--danger)!important;color:#fff!important}.form-control{background-color:var(--body-background)!important;border:3px solid var(--input-border);border-radius:var(--border-radius);color:var(--text-color)!important}.form-control:disabled,.form-control[readonly]{color:var(--text-disabled)!important}input::file-selector-button{background-color:var(--button-hover);border:none;border-radius:4px;color:var(--text-color);transition:background-color .15s ease-in-out}input::file-selector-button:hover{background-color:var(--button-active)}.custom-control-input:checked~.custom-control-label:before{background-color:var(--info);border:none;border-radius:var(--border-radius)}.custom-control-label:before,.progress{background-color:var(--button);border-radius:var(--border-radius)}.progress{height:2rem}.progress-bar{color:#fff!important}.svg-inline--fa,a svg{color:var(--svg)!important}.svg-inline--fa:hover,a:hover svg{color:var(--svg-hover)!important}.badge{border-radius:var(--border-radius);color:#fff!important;margin-bottom:3px;padding:6px}.list-group-item{background-color:transparent;border-bottom:1px solid var(--card-line)}.first-tag{left:15px}.file-type,.first-tag{border-radius:4px;color:#fff!important;position:absolute;top:15px}.file-type{right:15px}.comm-link-card-image{padding:10px}.card-img-top{border-radius:var(--border-radius);min-height:45px}.image-card .card-body{padding:0 10px 5px}a.badge.badge-info.upload-btn{font-size:.9rem;margin:0;min-width:-moz-fit-content;min-width:fit-content;padding:10px;width:100%}.image-info-card,.image-info-card-bottom{background-color:var(--card-line);border-radius:var(--border-radius);margin:0;padding:10px}.image-info-card p,.image-info-card-bottom p{font-weight:700;margin:0}.image-info-card-bottom{margin:0 10px 5px}.image-card .card-footer{margin:0 10px 10px;padding:0;text-align:center}.image-card .card-footer a{background-color:var(--button);border-radius:var(--border-radius)}.image-card .card-footer a:hover{background-color:var(--button-hover)}.image-card .image-description span{font-weight:400}.image-card .image-metadata{display:flex;gap:10px;justify-content:space-between}.image-card .tag-container{display:flex;flex-wrap:wrap;gap:.25rem}.image-card .tag-container a{flex-grow:1}
diff --git a/public/css/skin/lightgray/content.inline.min.css b/public/css/skin/lightgray/content.inline.min.css
deleted file mode 100644
index e4a77ff45..000000000
--- a/public/css/skin/lightgray/content.inline.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}.mce-content-body{line-height:1.3}
\ No newline at end of file
diff --git a/public/css/skin/lightgray/content.min.css b/public/css/skin/lightgray/content.min.css
deleted file mode 100644
index 1434177df..000000000
--- a/public/css/skin/lightgray/content.min.css
+++ /dev/null
@@ -1 +0,0 @@
-body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body.mce-content-readonly *[contentEditable=true]:focus,.mce-content-body.mce-content-readonly *[contentEditable=true]:hover{outline:none}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.mce-content-body table{-webkit-nbsp-mode:normal}.ephox-snooker-resizer-bar{background-color:#2276d2;opacity:0}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:.2}
\ No newline at end of file
diff --git a/public/css/skin/lightgray/content.mobile.min.css b/public/css/skin/lightgray/content.mobile.min.css
deleted file mode 100644
index fa69a9d4e..000000000
--- a/public/css/skin/lightgray/content.mobile.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{position:absolute;display:inline-block;background-color:green;opacity:.5}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}
\ No newline at end of file
diff --git a/public/css/skin/lightgray/fonts/tinymce-mobile.woff b/public/css/skin/lightgray/fonts/tinymce-mobile.woff
deleted file mode 100644
index 1e3be038a..000000000
Binary files a/public/css/skin/lightgray/fonts/tinymce-mobile.woff and /dev/null differ
diff --git a/public/css/skin/lightgray/fonts/tinymce-small.eot b/public/css/skin/lightgray/fonts/tinymce-small.eot
deleted file mode 100644
index b144ba0bd..000000000
Binary files a/public/css/skin/lightgray/fonts/tinymce-small.eot and /dev/null differ
diff --git a/public/css/skin/lightgray/fonts/tinymce-small.svg b/public/css/skin/lightgray/fonts/tinymce-small.svg
deleted file mode 100644
index b4ee6f408..000000000
--- a/public/css/skin/lightgray/fonts/tinymce-small.svg
+++ /dev/null
@@ -1,63 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/public/css/skin/lightgray/fonts/tinymce-small.ttf b/public/css/skin/lightgray/fonts/tinymce-small.ttf
deleted file mode 100644
index a983e2dc4..000000000
Binary files a/public/css/skin/lightgray/fonts/tinymce-small.ttf and /dev/null differ
diff --git a/public/css/skin/lightgray/fonts/tinymce-small.woff b/public/css/skin/lightgray/fonts/tinymce-small.woff
deleted file mode 100644
index d8962df76..000000000
Binary files a/public/css/skin/lightgray/fonts/tinymce-small.woff and /dev/null differ
diff --git a/public/css/skin/lightgray/fonts/tinymce.eot b/public/css/skin/lightgray/fonts/tinymce.eot
deleted file mode 100644
index 5336c38ff..000000000
Binary files a/public/css/skin/lightgray/fonts/tinymce.eot and /dev/null differ
diff --git a/public/css/skin/lightgray/fonts/tinymce.svg b/public/css/skin/lightgray/fonts/tinymce.svg
deleted file mode 100644
index 9fa215f3d..000000000
--- a/public/css/skin/lightgray/fonts/tinymce.svg
+++ /dev/null
@@ -1,131 +0,0 @@
-
-
-
\ No newline at end of file
diff --git a/public/css/skin/lightgray/fonts/tinymce.ttf b/public/css/skin/lightgray/fonts/tinymce.ttf
deleted file mode 100644
index 61a48a511..000000000
Binary files a/public/css/skin/lightgray/fonts/tinymce.ttf and /dev/null differ
diff --git a/public/css/skin/lightgray/fonts/tinymce.woff b/public/css/skin/lightgray/fonts/tinymce.woff
deleted file mode 100644
index aace5d9c5..000000000
Binary files a/public/css/skin/lightgray/fonts/tinymce.woff and /dev/null differ
diff --git a/public/css/skin/lightgray/img/anchor.gif b/public/css/skin/lightgray/img/anchor.gif
deleted file mode 100644
index 606348c7f..000000000
Binary files a/public/css/skin/lightgray/img/anchor.gif and /dev/null differ
diff --git a/public/css/skin/lightgray/img/loader.gif b/public/css/skin/lightgray/img/loader.gif
deleted file mode 100644
index c69e93723..000000000
Binary files a/public/css/skin/lightgray/img/loader.gif and /dev/null differ
diff --git a/public/css/skin/lightgray/img/object.gif b/public/css/skin/lightgray/img/object.gif
deleted file mode 100644
index cccd7f023..000000000
Binary files a/public/css/skin/lightgray/img/object.gif and /dev/null differ
diff --git a/public/css/skin/lightgray/img/trans.gif b/public/css/skin/lightgray/img/trans.gif
deleted file mode 100644
index 388486517..000000000
Binary files a/public/css/skin/lightgray/img/trans.gif and /dev/null differ
diff --git a/public/css/skin/lightgray/skin.min.css b/public/css/skin/lightgray/skin.min.css
deleted file mode 100644
index ba5c691c7..000000000
--- a/public/css/skin/lightgray/skin.min.css
+++ /dev/null
@@ -1 +0,0 @@
-.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#595959;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2)}.mce-statusbar>.mce-container-body{display:flex;padding-right:16px}.mce-statusbar>.mce-container-body .mce-path{flex:1}.mce-wordcount{font-size:inherit;text-transform:uppercase;padding:8px 0}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative;font-size:11px}.mce-fullscreen .mce-resizehandle{display:none}.mce-statusbar .mce-flow-layout-item{margin:0}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #c5c5c5;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:white}.mce-grid td.mce-grid-cell div{border:1px solid #c5c5c5;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#91bbe9}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#91bbe9}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#c5c5c5;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#91bbe9;background:#bdd6f2}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#8b8b8b}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-container b{font-weight:bold}.mce-container p{margin-bottom:5px}.mce-container a{cursor:pointer;color:#2276d2}.mce-container a:hover{text-decoration:underline}.mce-container ul{margin-left:15px}.mce-container .mce-table-striped{border-collapse:collapse;margin:10px}.mce-container .mce-table-striped thead>tr{background-color:#fafafa}.mce-container .mce-table-striped thead>tr th{font-weight:bold}.mce-container .mce-table-striped td,.mce-container .mce-table-striped th{padding:5px}.mce-container .mce-table-striped tr:nth-child(even){background-color:#fafafa}.mce-container .mce-table-striped tbody>tr:hover{background-color:#e1e1e1}.mce-branding{font-size:inherit;text-transform:uppercase;white-space:pre;padding:8px 0}.mce-branding a{font-size:inherit;color:inherit}.mce-top-part{position:relative}.mce-top-part::before{content:'';position:absolute;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);top:0;right:0;bottom:0;left:0;pointer-events:none}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-rtl .mce-statusbar>.mce-container-body>*:last-child{padding-right:0;padding-left:10px}.mce-rtl .mce-path{text-align:right;padding-right:16px}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.5;filter:alpha(opacity=50);zoom:1;position:absolute;background:black}.mce-croprect-handle:focus{border-color:#2276d2}.mce-croprect-handle-move:focus{outline:1px solid #2276d2}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel-bg{position:absolute;background:url('data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==')}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-arrow-up{margin-top:12px}.mce-arrow-down{margin-top:-12px}.mce-arrow:before,.mce-arrow:after{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-arrow.mce-arrow-up:before{top:-9px;border-bottom-color:#c5c5c5;border-width:0 9px 9px;margin-left:-9px}.mce-arrow.mce-arrow-down:before{bottom:-9px;border-top-color:#c5c5c5;border-width:9px 9px 0;margin-left:-9px}.mce-arrow.mce-arrow-up:after{top:-8px;border-bottom-color:#fff;border-width:0 8px 8px;margin-left:-8px}.mce-arrow.mce-arrow-down:after{bottom:-8px;border-top-color:#fff;border-width:8px 8px 0;margin-left:-8px}.mce-arrow.mce-arrow-left:before,.mce-arrow.mce-arrow-left:after{margin:0}.mce-arrow.mce-arrow-left:before{left:8px}.mce-arrow.mce-arrow-left:after{left:9px}.mce-arrow.mce-arrow-right:before,.mce-arrow.mce-arrow-right:after{left:auto;margin:0}.mce-arrow.mce-arrow-right:before{right:8px}.mce-arrow.mce-arrow-right:after{right:9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before{left:-9px;top:50%;border-right-color:#c5c5c5;border-width:9px 9px 9px 0;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after{left:-8px;top:50%;border-right-color:#fff;border-width:8px 8px 8px 0;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left{margin-left:12px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before{right:-9px;top:50%;border-left-color:#c5c5c5;border-width:9px 0 9px 9px;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after{right:-8px;top:50%;border-left-color:#fff;border-width:8px 0 8px 8px;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right{margin-left:-14px}.mce-edit-aria-container>.mce-container-body{display:flex}.mce-edit-aria-container>.mce-container-body .mce-edit-area{flex:1}.mce-edit-aria-container>.mce-container-body .mce-sidebar>.mce-container-body{display:flex;align-items:stretch;height:100%}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel{min-width:250px;max-width:250px;position:relative}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel>.mce-container-body{position:absolute;width:100%;height:100%;overflow:auto;top:0;left:0}.mce-sidebar-toolbar{border:0 solid #c5c5c5;border-left-width:1px}.mce-sidebar-toolbar .mce-btn{border-left:0;border-right:0}.mce-sidebar-toolbar .mce-btn.mce-active,.mce-sidebar-toolbar .mce-btn.mce-active:hover{background-color:#555c66}.mce-sidebar-toolbar .mce-btn.mce-active button,.mce-sidebar-toolbar .mce-btn.mce-active:hover button,.mce-sidebar-toolbar .mce-btn.mce-active button i,.mce-sidebar-toolbar .mce-btn.mce-active:hover button i{color:white;text-shadow:1px 1px none}.mce-sidebar-panel{border:0 solid #c5c5c5;border-left-width:1px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #f3f3f3;border:0 solid #c5c5c5;background-color:#fff}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);top:0;left:0;background:#FFF;border:1px solid #c5c5c5;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#c5c5c5;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#FFF}.mce-floatpanel.mce-popover.mce-top{margin-top:-10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-top>.mce-arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#c5c5c5;top:auto;bottom:-11px}.mce-floatpanel.mce-popover.mce-top>.mce-arrow:after{bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#FFF}.mce-floatpanel.mce-popover.mce-bottom.mce-start,.mce-floatpanel.mce-popover.mce-top.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow,.mce-floatpanel.mce-popover.mce-top.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end,.mce-floatpanel.mce-popover.mce-top.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow,.mce-floatpanel.mce-popover.mce-top.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#FFF}#mce-modal-block.mce-in{opacity:.5;filter:alpha(opacity=50);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#FFF;position:fixed;top:0;left:0;opacity:0;transform:scale(.1);transition:transform 100ms ease-in,opacity 150ms ease-in}.mce-window.mce-in{transform:scale(1);opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:0;top:0;height:38px;width:38px;text-align:center;cursor:pointer}.mce-window-head .mce-close i{color:#9b9b9b}.mce-close:hover i{color:#bdbdbd}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:20px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#FFF;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#e2e4e7}.mce-window .mce-btn:hover{border-color:#c5c5c5}.mce-window .mce-btn:focus{border-color:#2276d2}.mce-window-body .mce-btn,.mce-foot .mce-btn{border-color:#c5c5c5}.mce-foot .mce-btn.mce-primary{border-color:transparent}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:0}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right;padding-right:0;padding-left:20px}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1;margin-top:1px}.mce-tooltip-inner{font-size:11px;background-color:#000;color:white;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-ne,.mce-tooltip-se{margin-left:14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#595959}.mce-bar{display:block;width:0;height:100%;background-color:#dfdfdf;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#fff;padding:5px;margin-top:5px;border-width:1px;border-style:solid;border-color:#c5c5c5;transition:transform 100ms ease-in,opacity 150ms ease-in;opacity:0;box-sizing:border-box}.mce-notification.mce-in{opacity:1}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ECB}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#595959}.mce-notification .mce-progress .mce-bar-container{border-color:#c5c5c5}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#595959}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ECB}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#9b9b9b;cursor:pointer}.mce-abs-layout{position:relative}html .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #b3b3b3;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);background:white;display:inline-block;*display:inline;*zoom:1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-btn:hover,.mce-btn:active{background:white;color:#595959;border-color:#e2e4e7}.mce-btn:focus{background:white;color:#595959;border-color:#e2e4e7}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover,.mce-btn.mce-active:focus,.mce-btn.mce-active:active{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#555c66;color:white;border-color:transparent}.mce-btn.mce-active button,.mce-btn.mce-active:hover button,.mce-btn.mce-active i,.mce-btn.mce-active:hover i{color:white}.mce-btn:hover .mce-caret{border-top-color:#b5bcc2}.mce-btn.mce-active .mce-caret,.mce-btn.mce-active:hover .mce-caret{border-top-color:white}.mce-btn button{padding:4px 6px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#595959;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary.mce-btn-has-text{min-width:50px}.mce-primary{color:white;border:1px solid transparent;border-color:transparent;background-color:#2276d2}.mce-primary:hover,.mce-primary:focus{background-color:#1e6abc;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#1e6abc;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-primary button,.mce-primary button i{color:white;text-shadow:1px 1px none}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #b5bcc2;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #b5bcc2;border-top:0}.mce-btn-flat{border:0;background:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-toolbar .mce-btn-group{margin:0;padding:2px 0}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:0;margin-left:2px}.mce-btn-group{margin-left:2px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:white;text-indent:-10em;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#595959;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid #2276d2;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#bdbdbd}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{position:relative;display:inline-block;*display:inline;*zoom:1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#bdbdbd}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0;margin:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-combobox .mce-status{position:absolute;right:2px;top:50%;line-height:16px;margin-top:-8px;font-size:12px;width:15px;height:15px;text-align:center;cursor:pointer}.mce-combobox.mce-has-status input{padding-right:20px}.mce-combobox.mce-has-open .mce-status{right:37px}.mce-combobox .mce-status.mce-i-warning{color:#c09853}.mce-combobox .mce-status.mce-i-checkmark{color:#468847}.mce-menu.mce-combobox-menu{border-top:0;margin-top:0;max-height:200px}.mce-menu.mce-combobox-menu .mce-menu-item{padding:4px 6px 4px 4px;font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-sep{padding:0}.mce-menu.mce-combobox-menu .mce-text,.mce-menu.mce-combobox-menu .mce-text b{font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-link,.mce-menu.mce-combobox-menu .mce-menu-item-link b{font-size:11px}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid black;background:white;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal;font-size:inherit}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#595959;font-size:inherit;text-transform:uppercase}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#555c66;color:white}.mce-path .mce-divider{display:inline;font-size:inherit}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #c5c5c5;width:100%;height:100%}.mce-infobox{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden;border:1px solid red}.mce-infobox div{display:block;margin:5px}.mce-infobox div button{position:absolute;top:50%;right:4px;cursor:pointer;margin-top:-8px;display:none}.mce-infobox div button:focus{outline:2px solid #e2e4e7}.mce-infobox.mce-has-help div{margin-right:25px}.mce-infobox.mce-has-help button{display:block}.mce-infobox.mce-success{background:#dff0d8;border-color:#d6e9c6}.mce-infobox.mce-success div{color:#3c763d}.mce-infobox.mce-warning{background:#fcf8e3;border-color:#faebcc}.mce-infobox.mce-warning div{color:#8a6d3b}.mce-infobox.mce-error{background:#f2dede;border-color:#ebccd1}.mce-infobox.mce-error div{color:#a94442}.mce-rtl .mce-infobox div{text-align:right;direction:rtl}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-success{color:#468847}.mce-label.mce-warning{color:#c09853}.mce-label.mce-error{color:#b94a48}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar{border:1px solid #e2e4e7}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar .mce-menubtn button span{color:#595959}.mce-menubar .mce-caret{border-top-color:#b5bcc2}.mce-menubar .mce-active .mce-caret,.mce-menubar .mce-menubtn:hover .mce-caret{border-top-color:#b5bcc2}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#e2e4e7;background:white;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubar .mce-menubtn.mce-active{border-bottom:none;z-index:65537}div.mce-menubtn.mce-opened{border-bottom-color:white;z-index:65537}.mce-menubtn button{color:#595959}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-rtl .mce-menubtn.mce-fixed-width span{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 4px 6px 4px;clear:both;font-weight:normal;line-height:20px;color:#595959;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-text,.mce-menu-item .mce-text b{line-height:1;vertical-align:initial}.mce-menu-item .mce-caret{margin-top:4px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #595959}.mce-menu-item .mce-menu-shortcut{display:inline-block;padding:0 10px 0 20px;color:#aaa}.mce-menu-item .mce-ico{padding-right:4px}.mce-menu-item:hover,.mce-menu-item:focus{background:#ededee}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#aaa}.mce-menu-item:hover .mce-text,.mce-menu-item:focus .mce-text,.mce-menu-item:hover .mce-ico,.mce-menu-item:focus .mce-ico{color:#595959}.mce-menu-item.mce-selected{background:#ededee}.mce-menu-item.mce-selected .mce-text,.mce-menu-item.mce-selected .mce-ico{color:#595959}.mce-menu-item.mce-active.mce-menu-item-normal{background:#555c66}.mce-menu-item.mce-active.mce-menu-item-normal .mce-text,.mce-menu-item.mce-active.mce-menu-item-normal .mce-ico{color:white}.mce-menu-item.mce-active.mce-menu-item-checkbox .mce-ico{visibility:visible}.mce-menu-item.mce-disabled,.mce-menu-item.mce-disabled:hover{background:white}.mce-menu-item.mce-disabled:focus,.mce-menu-item.mce-disabled:hover:focus{background:#ededee}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled:hover .mce-text,.mce-menu-item.mce-disabled .mce-ico,.mce-menu-item.mce-disabled:hover .mce-ico{color:#aaa}.mce-menu-item.mce-menu-item-preview.mce-active{border-left:5px solid #555c66;background:white}.mce-menu-item.mce-menu-item-preview.mce-active .mce-text,.mce-menu-item.mce-menu-item-preview.mce-active .mce-ico{color:#595959}.mce-menu-item.mce-menu-item-preview.mce-active:hover{background:#ededee}.mce-menu-item-link{color:#093;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mce-menu-item-link b{color:#093}.mce-menu-item-ellipsis{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mce-menu-item:hover *,.mce-menu-item.mce-selected *,.mce-menu-item:focus *{color:#595959}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}div.mce-menu .mce-menu-item b{font-weight:bold}.mce-menu-item-indent-1{padding-left:20px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-3{padding-left:40px}.mce-menu-item-indent-4{padding-left:45px}.mce-menu-item-indent-5{padding-left:50px}.mce-menu-item-indent-6{padding-left:55px}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #595959;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#595959}.mce-rtl .mce-menu-item .mce-ico{padding-right:0;padding-left:4px}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}.mce-menu .mce-throbber-inline{height:25px;background-size:contain}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:180px;background:white;border:1px solid #c5c9cf;border:1px solid #e2e4e7;z-index:1002;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);max-height:500px;overflow:auto;overflow-x:hidden}.mce-menu.mce-animate{opacity:.01;transform:rotateY(10deg) rotateX(-10deg);transform-origin:left top}.mce-menu.mce-menu-align .mce-menu-shortcut,.mce-menu.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block}.mce-menu.mce-in.mce-animate{opacity:1;transform:rotateY(0) rotateX(0);transition:opacity .075s ease,transform .1s ease}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-rtl .mce-menu-item .mce-ico{padding-right:0;padding-left:4px}.mce-rtl.mce-menu-align .mce-caret,.mce-rtl .mce-menu-shortcut{right:auto;left:0}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#595959}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{border:1px solid #c5c5c5;background:#fff;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #c5c5c5;background:#e6e6e6;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-slider-handle:focus{border-color:#2276d2}.mce-spacer{visibility:hidden}.mce-splitbtn:hover .mce-open{border-left:1px solid #e2e4e7}.mce-splitbtn .mce-open{border-left:1px solid transparent;padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open:focus{border-left:1px solid #e2e4e7}.mce-splitbtn .mce-open:hover,.mce-splitbtn .mce-open:active{border-left:1px solid #e2e4e7}.mce-splitbtn.mce-active:hover .mce-open{border-left:1px solid white}.mce-splitbtn.mce-opened{border-color:#e2e4e7}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#fff;padding:8px 15px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#FDFDFD}.mce-tab.mce-active{background:#FDFDFD;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-tab:focus{color:#2276d2}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#595959}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#2276d2;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#bdbdbd}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-dropzone{border:3px dashed gray;text-align:center}.mce-dropzone span{text-transform:uppercase;display:inline-block;vertical-align:middle}.mce-dropzone:after{content:"";height:100%;display:inline-block;vertical-align:middle}.mce-dropzone.mce-disabled{opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-dropzone.mce-disabled.mce-dragenter{cursor:not-allowed}.mce-browsebutton{position:relative;overflow:hidden}.mce-browsebutton button{position:relative;z-index:1}.mce-browsebutton input{opacity:0;filter:alpha(opacity=0);zoom:1;position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#595959}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-alignnone:before{content:"\e003"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-rotateleft:before{content:"\eaa8"}.mce-i-rotateright:before{content:"\eaa9"}.mce-i-crop:before{content:"\ee78"}.mce-i-editimage:before{content:"\e915"}.mce-i-options:before{content:"\ec6a"}.mce-i-flipv:before{content:"\eaaa"}.mce-i-fliph:before{content:"\eaac"}.mce-i-zoomin:before{content:"\eb35"}.mce-i-zoomout:before{content:"\eb36"}.mce-i-sun:before{content:"\eccc"}.mce-i-moon:before{content:"\eccd"}.mce-i-arrowleft:before{content:"\edc0"}.mce-i-arrowright:before{content:"\e93c"}.mce-i-drop:before{content:"\e935"}.mce-i-contrast:before{content:"\ecd4"}.mce-i-sharpen:before{content:"\eba7"}.mce-i-resize2:before{content:"\edf9"}.mce-i-orientation:before{content:"\e601"}.mce-i-invert:before{content:"\e602"}.mce-i-gamma:before{content:"\e600"}.mce-i-remove:before{content:"\ed6a"}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}.mce-i-codesample:before{content:"\e603"}.mce-i-fill:before{content:"\e902"}.mce-i-borderwidth:before{content:"\e903"}.mce-i-line:before{content:"\e904"}.mce-i-count:before{content:"\e905"}.mce-i-translate:before{content:"\e907"}.mce-i-drag:before{content:"\e908"}.mce-i-home:before{content:"\e90b"}.mce-i-upload:before{content:"\e914"}.mce-i-bubble:before{content:"\e91c"}.mce-i-user:before{content:"\e91d"}.mce-i-lock:before{content:"\e926"}.mce-i-unlock:before{content:"\e927"}.mce-i-settings:before{content:"\e928"}.mce-i-remove2:before{content:"\e92a"}.mce-i-menu:before{content:"\e92d"}.mce-i-warning:before{content:"\e930"}.mce-i-question:before{content:"\e931"}.mce-i-pluscircle:before{content:"\e932"}.mce-i-info:before{content:"\e933"}.mce-i-notice:before{content:"\e934"}.mce-i-arrowup:before{content:"\e93b"}.mce-i-arrowdown:before{content:"\e93d"}.mce-i-arrowup2:before{content:"\e93f"}.mce-i-arrowdown2:before{content:"\e940"}.mce-i-menu2:before{content:"\e941"}.mce-i-newtab:before{content:"\e961"}.mce-i-a11y:before{content:"\e900"}.mce-i-plus:before{content:"\e93a"}.mce-i-insert:before{content:"\e93a"}.mce-i-minus:before{content:"\e939"}.mce-i-books:before{content:"\e911"}.mce-i-reload:before{content:"\e906"}.mce-i-toc:before{content:"\e901"}.mce-i-checkmark:before{content:"\e033"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-insert{font-size:14px}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#BBB}.mce-rtl .mce-filepicker input{direction:ltr}/*# sourceMappingURL=skin.min.css.map */
\ No newline at end of file
diff --git a/public/css/skin/lightgray/skin.mobile.min.css b/public/css/skin/lightgray/skin.mobile.min.css
deleted file mode 100644
index 1b5490919..000000000
--- a/public/css/skin/lightgray/skin.mobile.min.css
+++ /dev/null
@@ -1,2 +0,0 @@
-.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{-webkit-box-sizing:initial;box-sizing:initial;line-height:1;margin:0;padding:0;border:0;outline:0;text-shadow:none;float:none;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent}.tinymce-mobile-icon-arrow-back:before{content:"\e5cd"}.tinymce-mobile-icon-image:before{content:"\e412"}.tinymce-mobile-icon-cancel-circle:before{content:"\e5c9"}.tinymce-mobile-icon-full-dot:before{content:"\e061"}.tinymce-mobile-icon-align-center:before{content:"\e234"}.tinymce-mobile-icon-align-left:before{content:"\e236"}.tinymce-mobile-icon-align-right:before{content:"\e237"}.tinymce-mobile-icon-bold:before{content:"\e238"}.tinymce-mobile-icon-italic:before{content:"\e23f"}.tinymce-mobile-icon-unordered-list:before{content:"\e241"}.tinymce-mobile-icon-ordered-list:before{content:"\e242"}.tinymce-mobile-icon-font-size:before{content:"\e245"}.tinymce-mobile-icon-underline:before{content:"\e249"}.tinymce-mobile-icon-link:before{content:"\e157"}.tinymce-mobile-icon-unlink:before{content:"\eca2"}.tinymce-mobile-icon-color:before{content:"\e891"}.tinymce-mobile-icon-previous:before{content:"\e314"}.tinymce-mobile-icon-next:before{content:"\e315"}.tinymce-mobile-icon-large-font:before,.tinymce-mobile-icon-style-formats:before{content:"\e264"}.tinymce-mobile-icon-undo:before{content:"\e166"}.tinymce-mobile-icon-redo:before{content:"\e15a"}.tinymce-mobile-icon-removeformat:before{content:"\e239"}.tinymce-mobile-icon-small-font:before{content:"\e906"}.tinymce-mobile-icon-readonly-back:before,.tinymce-mobile-format-matches:after{content:"\e5ca"}.tinymce-mobile-icon-small-heading:before{content:"small"}.tinymce-mobile-icon-large-heading:before{content:"large"}.tinymce-mobile-icon-small-heading:before,.tinymce-mobile-icon-large-heading:before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon:before{content:"\e254"}.tinymce-mobile-icon-back:before{content:"\e5c4"}.tinymce-mobile-icon-heading:before{content:"Headings";font-family:sans-serif;font-weight:bold;font-size:80%}.tinymce-mobile-icon-h1:before{content:"H1";font-weight:bold}.tinymce-mobile-icon-h2:before{content:"H2";font-weight:bold}.tinymce-mobile-icon-h3:before{content:"H3";font-weight:bold}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;position:absolute;width:100%;height:100%;top:0;background:rgba(51,51,51,0.5)}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;-webkit-border-radius:50%;border-radius:50%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;font-family:sans-serif;font-size:1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{-webkit-border-radius:50%;border-radius:50%;width:2.1em;height:2.1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{-webkit-border-radius:50%;border-radius:50%;width:2.1em;height:2.1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;color:#4682B4;background-color:white}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon:before{font-family:'tinymce-mobile';content:"\e900"}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{position:fixed;top:0;bottom:0;left:0;right:0;border:none;background:#fff;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:-webkit-box !important;display:-webkit-flex !important;display:-ms-flexbox !important;display:flex !important;height:auto !important;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#eceff1;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;z-index:1;-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;width:100%;height:2.5em;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;color:#455a64}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#4682B4;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-flex-shrink:1;-ms-flex-negative:1;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin-left:2px;margin-right:2px;height:80%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#455a64;color:#b1bec6}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;padding-top:.4em;padding-bottom:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;overflow:hidden;position:relative;width:100%;min-height:1.5em;padding-left:0;padding-right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{-webkit-transition:left cubic-bezier(.4, 0, 1, 1) .15s;transition:left cubic-bezier(.4, 0, 1, 1) .15s;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{-webkit-box-flex:0;-webkit-flex:0 0 auto;-ms-flex:0 0 auto;flex:0 0 auto;width:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{position:absolute;right:0;color:#888;font-size:.6em;font-weight:bold;background:inherit;-webkit-border-radius:50%;border-radius:50%;border:none;-webkit-align-self:center;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;height:100%;padding-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous:before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next:before{padding-left:.5em;padding-right:.5em;height:100%;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;font-weight:bold}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled:before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled:before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{margin:0 2px;font-size:10px;line-height:10px;padding-top:3px;color:#b1bec6}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#455a64}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;position:relative;padding:.28em 0;margin-left:10%;margin-right:10%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font:before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading:before{margin-right:.9em;margin-left:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font:before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading:before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{margin-left:0;margin-right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-top:.3em;margin-bottom:.3em;background:#b1bec6;height:.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;height:100%;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;margin-top:.3em;margin-bottom:.3em;background:-webkit-gradient(linear, left top, right top, color-stop(0, #f00), color-stop(17%, #ff0), color-stop(33%, #0f0), color-stop(50%, #0ff), color-stop(67%, #00f), color-stop(83%, #f0f), to(#f00));background:linear-gradient(to right, #f00 0, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);height:.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:black;width:1.2em;height:.2em;margin-top:.3em;margin-bottom:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:white;width:1.2em;height:.2em;margin-top:.3em;margin-bottom:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{position:absolute;height:.5em;width:.5em;left:-10px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;margin:auto;top:0;bottom:0;-webkit-transition:border 120ms cubic-bezier(.39, .58, .57, 1);transition:border 120ms cubic-bezier(.39, .58, .57, 1);background-color:#455a64;background-clip:padding-box;color:#eceff1;border:.5em solid rgba(136,136,136,0);-webkit-border-radius:3em;border-radius:3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,0.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%;-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{padding-top:.1em;padding-bottom:.1em;padding-left:5px;font-size:.85em;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;background:#fff;border:none;-webkit-border-radius:0;border-radius:0;color:#455a64}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input:-ms-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation: landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-dropup{background:white;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;width:100%;overflow:hidden}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{-webkit-transition:height .3s ease-out;transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{-webkit-transition:height .3s ease-in;transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{-webkit-box-flex:0;-webkit-flex-grow:0;-ms-flex-positive:0;flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1}.tinymce-mobile-styles-menu{overflow:hidden;outline:4px solid black;position:relative;width:100%;font-family:sans-serif}.tinymce-mobile-styles-menu [role="menu"]{height:100%;position:absolute;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:100%}.tinymce-mobile-styles-menu [role="menu"].transitioning{-webkit-transition:-webkit-transform .5s ease-in-out;transition:-webkit-transform .5s ease-in-out;transition:transform .5s ease-in-out;transition:transform .5s ease-in-out, -webkit-transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{cursor:pointer;padding:1em 1em;position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;border-bottom:1px solid #ddd;color:#455a64}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon:before{font-family:'tinymce-mobile';content:"\e314";color:#455a64}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu:after{font-family:'tinymce-mobile';content:"\e315";position:absolute;padding-left:1em;padding-right:1em;right:0;color:#455a64}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches:after{font-family:'tinymce-mobile';position:absolute;padding-left:1em;padding-right:1em;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator,.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser{border-top:#455a64;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;background:#eceff1;color:#455a64}.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state="before"]{-webkit-transform:translate(-100%);transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state="current"]{-webkit-transform:translate(0);transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state="after"]{-webkit-transform:translate(100%);transform:translate(100%)}@font-face{font-family:'tinymce-mobile';src:url('fonts/tinymce-mobile.woff?8x92w3') format('woff');font-weight:normal;font-style:normal}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:'tinymce-mobile'}.mixin-flex-and-centre{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.mixin-flex-bar{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{overflow:hidden;height:300px}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{position:fixed;right:2em;bottom:1em;color:white;background-color:#4682B4;-webkit-border-radius:50%;border-radius:50%;width:2.1em;height:2.1em;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}input[type="file"]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}}
-/*# sourceMappingURL=skin.mobile.min.css.map */
\ No newline at end of file
diff --git a/public/index.php b/public/index.php
index d99f54245..ee8f07e99 100644
--- a/public/index.php
+++ b/public/index.php
@@ -1,62 +1,20 @@
- */
+use Illuminate\Foundation\Application;
+use Illuminate\Http\Request;
+
define('LARAVEL_START', microtime(true));
-if (file_exists(__DIR__.'/../storage/framework/maintenance.php')) {
- require __DIR__.'/../storage/framework/maintenance.php';
+// Determine if the application is in maintenance mode...
+if (file_exists($maintenance = __DIR__.'/../storage/framework/maintenance.php')) {
+ require $maintenance;
}
-/*
-|--------------------------------------------------------------------------
-| Register The Auto Loader
-|--------------------------------------------------------------------------
-|
-| Composer provides a convenient, automatically generated class loader for
-| our application. We just need to utilize it! We'll simply require it
-| into the script here so that we don't have to worry about manual
-| loading any of our classes later on. It feels great to relax.
-|
-*/
-
+// Register the Composer autoloader...
require __DIR__.'/../vendor/autoload.php';
-/*
-|--------------------------------------------------------------------------
-| Turn On The Lights
-|--------------------------------------------------------------------------
-|
-| We need to illuminate PHP development, so let us turn on the lights.
-| This bootstraps the framework and gets it ready for use, then it
-| will load up this application so that we can run it and send
-| the responses back to the browser and delight our users.
-|
-*/
-
+// Bootstrap Laravel and handle the request...
+/** @var Application $app */
$app = require_once __DIR__.'/../bootstrap/app.php';
-/*
-|--------------------------------------------------------------------------
-| Run The Application
-|--------------------------------------------------------------------------
-|
-| Once we have the application, we can handle the incoming request
-| through the kernel, and send the associated response back to
-| the client's browser allowing them to enjoy the creative
-| and wonderful application we have prepared for them.
-|
-*/
-
-$kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
-
-$response = $kernel->handle(
- $request = Illuminate\Http\Request::capture()
-);
-
-$response->send();
-
-$kernel->terminate($request, $response);
+$app->handleRequest(Request::capture());
diff --git a/public/js/Chart.min.js b/public/js/Chart.min.js
deleted file mode 100644
index 7c16b0d12..000000000
--- a/public/js/Chart.min.js
+++ /dev/null
@@ -1,7 +0,0 @@
-/*!
- * Chart.js v2.9.3
- * https://www.chartjs.org
- * (c) 2019 Chart.js Contributors
- * Released under the MIT License
- */
-!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(function(){try{return require("moment")}catch(t){}}()):"function"==typeof define&&define.amd?define(["require"],(function(t){return e(function(){try{return t("moment")}catch(t){}}())})):(t=t||self).Chart=e(t.moment)}(this,(function(t){"use strict";t=t&&t.hasOwnProperty("default")?t.default:t;var e={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},n=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(t){var n={};for(var i in e)e.hasOwnProperty(i)&&(n[e[i]]=i);var a=t.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var r in a)if(a.hasOwnProperty(r)){if(!("channels"in a[r]))throw new Error("missing channels property: "+r);if(!("labels"in a[r]))throw new Error("missing channel labels property: "+r);if(a[r].labels.length!==a[r].channels)throw new Error("channel and label counts mismatch: "+r);var o=a[r].channels,s=a[r].labels;delete a[r].channels,delete a[r].labels,Object.defineProperty(a[r],"channels",{value:o}),Object.defineProperty(a[r],"labels",{value:s})}a.rgb.hsl=function(t){var e,n,i=t[0]/255,a=t[1]/255,r=t[2]/255,o=Math.min(i,a,r),s=Math.max(i,a,r),l=s-o;return s===o?e=0:i===s?e=(a-r)/l:a===s?e=2+(r-i)/l:r===s&&(e=4+(i-a)/l),(e=Math.min(60*e,360))<0&&(e+=360),n=(o+s)/2,[e,100*(s===o?0:n<=.5?l/(s+o):l/(2-s-o)),100*n]},a.rgb.hsv=function(t){var e,n,i,a,r,o=t[0]/255,s=t[1]/255,l=t[2]/255,u=Math.max(o,s,l),d=u-Math.min(o,s,l),h=function(t){return(u-t)/6/d+.5};return 0===d?a=r=0:(r=d/u,e=h(o),n=h(s),i=h(l),o===u?a=i-n:s===u?a=1/3+e-i:l===u&&(a=2/3+n-e),a<0?a+=1:a>1&&(a-=1)),[360*a,100*r,100*u]},a.rgb.hwb=function(t){var e=t[0],n=t[1],i=t[2];return[a.rgb.hsl(t)[0],100*(1/255*Math.min(e,Math.min(n,i))),100*(i=1-1/255*Math.max(e,Math.max(n,i)))]},a.rgb.cmyk=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255;return[100*((1-n-(e=Math.min(1-n,1-i,1-a)))/(1-e)||0),100*((1-i-e)/(1-e)||0),100*((1-a-e)/(1-e)||0),100*e]},a.rgb.keyword=function(t){var i=n[t];if(i)return i;var a,r,o,s=1/0;for(var l in e)if(e.hasOwnProperty(l)){var u=e[l],d=(r=t,o=u,Math.pow(r[0]-o[0],2)+Math.pow(r[1]-o[1],2)+Math.pow(r[2]-o[2],2));d.04045?Math.pow((e+.055)/1.055,2.4):e/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*e+.7152*n+.0722*i),100*(.0193*e+.1192*n+.9505*i)]},a.rgb.lab=function(t){var e=a.rgb.xyz(t),n=e[0],i=e[1],r=e[2];return i/=100,r/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(r=r>.008856?Math.pow(r,1/3):7.787*r+16/116))]},a.hsl.rgb=function(t){var e,n,i,a,r,o=t[0]/360,s=t[1]/100,l=t[2]/100;if(0===s)return[r=255*l,r,r];e=2*l-(n=l<.5?l*(1+s):l+s-l*s),a=[0,0,0];for(var u=0;u<3;u++)(i=o+1/3*-(u-1))<0&&i++,i>1&&i--,r=6*i<1?e+6*(n-e)*i:2*i<1?n:3*i<2?e+(n-e)*(2/3-i)*6:e,a[u]=255*r;return a},a.hsl.hsv=function(t){var e=t[0],n=t[1]/100,i=t[2]/100,a=n,r=Math.max(i,.01);return n*=(i*=2)<=1?i:2-i,a*=r<=1?r:2-r,[e,100*(0===i?2*a/(r+a):2*n/(i+n)),100*((i+n)/2)]},a.hsv.rgb=function(t){var e=t[0]/60,n=t[1]/100,i=t[2]/100,a=Math.floor(e)%6,r=e-Math.floor(e),o=255*i*(1-n),s=255*i*(1-n*r),l=255*i*(1-n*(1-r));switch(i*=255,a){case 0:return[i,l,o];case 1:return[s,i,o];case 2:return[o,i,l];case 3:return[o,s,i];case 4:return[l,o,i];case 5:return[i,o,s]}},a.hsv.hsl=function(t){var e,n,i,a=t[0],r=t[1]/100,o=t[2]/100,s=Math.max(o,.01);return i=(2-r)*o,n=r*s,[a,100*(n=(n/=(e=(2-r)*s)<=1?e:2-e)||0),100*(i/=2)]},a.hwb.rgb=function(t){var e,n,i,a,r,o,s,l=t[0]/360,u=t[1]/100,d=t[2]/100,h=u+d;switch(h>1&&(u/=h,d/=h),i=6*l-(e=Math.floor(6*l)),0!=(1&e)&&(i=1-i),a=u+i*((n=1-d)-u),e){default:case 6:case 0:r=n,o=a,s=u;break;case 1:r=a,o=n,s=u;break;case 2:r=u,o=n,s=a;break;case 3:r=u,o=a,s=n;break;case 4:r=a,o=u,s=n;break;case 5:r=n,o=u,s=a}return[255*r,255*o,255*s]},a.cmyk.rgb=function(t){var e=t[0]/100,n=t[1]/100,i=t[2]/100,a=t[3]/100;return[255*(1-Math.min(1,e*(1-a)+a)),255*(1-Math.min(1,n*(1-a)+a)),255*(1-Math.min(1,i*(1-a)+a))]},a.xyz.rgb=function(t){var e,n,i,a=t[0]/100,r=t[1]/100,o=t[2]/100;return n=-.9689*a+1.8758*r+.0415*o,i=.0557*a+-.204*r+1.057*o,e=(e=3.2406*a+-1.5372*r+-.4986*o)>.0031308?1.055*Math.pow(e,1/2.4)-.055:12.92*e,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:12.92*i,[255*(e=Math.min(Math.max(0,e),1)),255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1))]},a.xyz.lab=function(t){var e=t[0],n=t[1],i=t[2];return n/=100,i/=108.883,e=(e/=95.047)>.008856?Math.pow(e,1/3):7.787*e+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(e-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},a.lab.xyz=function(t){var e,n,i,a=t[0];e=t[1]/500+(n=(a+16)/116),i=n-t[2]/200;var r=Math.pow(n,3),o=Math.pow(e,3),s=Math.pow(i,3);return n=r>.008856?r:(n-16/116)/7.787,e=o>.008856?o:(e-16/116)/7.787,i=s>.008856?s:(i-16/116)/7.787,[e*=95.047,n*=100,i*=108.883]},a.lab.lch=function(t){var e,n=t[0],i=t[1],a=t[2];return(e=360*Math.atan2(a,i)/2/Math.PI)<0&&(e+=360),[n,Math.sqrt(i*i+a*a),e]},a.lch.lab=function(t){var e,n=t[0],i=t[1];return e=t[2]/360*2*Math.PI,[n,i*Math.cos(e),i*Math.sin(e)]},a.rgb.ansi16=function(t){var e=t[0],n=t[1],i=t[2],r=1 in arguments?arguments[1]:a.rgb.hsv(t)[2];if(0===(r=Math.round(r/50)))return 30;var o=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(e/255));return 2===r&&(o+=60),o},a.hsv.ansi16=function(t){return a.rgb.ansi16(a.hsv.rgb(t),t[2])},a.rgb.ansi256=function(t){var e=t[0],n=t[1],i=t[2];return e===n&&n===i?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},a.ansi16.rgb=function(t){var e=t%10;if(0===e||7===e)return t>50&&(e+=3.5),[e=e/10.5*255,e,e];var n=.5*(1+~~(t>50));return[(1&e)*n*255,(e>>1&1)*n*255,(e>>2&1)*n*255]},a.ansi256.rgb=function(t){if(t>=232){var e=10*(t-232)+8;return[e,e,e]}var n;return t-=16,[Math.floor(t/36)/5*255,Math.floor((n=t%36)/6)/5*255,n%6/5*255]},a.rgb.hex=function(t){var e=(((255&Math.round(t[0]))<<16)+((255&Math.round(t[1]))<<8)+(255&Math.round(t[2]))).toString(16).toUpperCase();return"000000".substring(e.length)+e},a.hex.rgb=function(t){var e=t.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!e)return[0,0,0];var n=e[0];3===e[0].length&&(n=n.split("").map((function(t){return t+t})).join(""));var i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},a.rgb.hcg=function(t){var e,n=t[0]/255,i=t[1]/255,a=t[2]/255,r=Math.max(Math.max(n,i),a),o=Math.min(Math.min(n,i),a),s=r-o;return e=s<=0?0:r===n?(i-a)/s%6:r===i?2+(a-n)/s:4+(n-i)/s+4,e/=6,[360*(e%=1),100*s,100*(s<1?o/(1-s):0)]},a.hsl.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=1,a=0;return(i=n<.5?2*e*n:2*e*(1-n))<1&&(a=(n-.5*i)/(1-i)),[t[0],100*i,100*a]},a.hsv.hcg=function(t){var e=t[1]/100,n=t[2]/100,i=e*n,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.hcg.rgb=function(t){var e=t[0]/360,n=t[1]/100,i=t[2]/100;if(0===n)return[255*i,255*i,255*i];var a,r=[0,0,0],o=e%1*6,s=o%1,l=1-s;switch(Math.floor(o)){case 0:r[0]=1,r[1]=s,r[2]=0;break;case 1:r[0]=l,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=s;break;case 3:r[0]=0,r[1]=l,r[2]=1;break;case 4:r[0]=s,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=l}return a=(1-n)*i,[255*(n*r[0]+a),255*(n*r[1]+a),255*(n*r[2]+a)]},a.hcg.hsv=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e),i=0;return n>0&&(i=e/n),[t[0],100*i,100*n]},a.hcg.hsl=function(t){var e=t[1]/100,n=t[2]/100*(1-e)+.5*e,i=0;return n>0&&n<.5?i=e/(2*n):n>=.5&&n<1&&(i=e/(2*(1-n))),[t[0],100*i,100*n]},a.hcg.hwb=function(t){var e=t[1]/100,n=e+t[2]/100*(1-e);return[t[0],100*(n-e),100*(1-n)]},a.hwb.hcg=function(t){var e=t[1]/100,n=1-t[2]/100,i=n-e,a=0;return i<1&&(a=(n-i)/(1-i)),[t[0],100*i,100*a]},a.apple.rgb=function(t){return[t[0]/65535*255,t[1]/65535*255,t[2]/65535*255]},a.rgb.apple=function(t){return[t[0]/255*65535,t[1]/255*65535,t[2]/255*65535]},a.gray.rgb=function(t){return[t[0]/100*255,t[0]/100*255,t[0]/100*255]},a.gray.hsl=a.gray.hsv=function(t){return[0,0,t[0]]},a.gray.hwb=function(t){return[0,100,t[0]]},a.gray.cmyk=function(t){return[0,0,0,t[0]]},a.gray.lab=function(t){return[t[0],0,0]},a.gray.hex=function(t){var e=255&Math.round(t[0]/100*255),n=((e<<16)+(e<<8)+e).toString(16).toUpperCase();return"000000".substring(n.length)+n},a.rgb.gray=function(t){return[(t[0]+t[1]+t[2])/3/255*100]}}));n.rgb,n.hsl,n.hsv,n.hwb,n.cmyk,n.xyz,n.lab,n.lch,n.hex,n.keyword,n.ansi16,n.ansi256,n.hcg,n.apple,n.gray;function i(t){var e=function(){for(var t={},e=Object.keys(n),i=e.length,a=0;a1&&(e=Array.prototype.slice.call(arguments));var n=t(e);if("object"==typeof n)for(var i=n.length,a=0;a1&&(e=Array.prototype.slice.call(arguments)),t(e))};return"conversion"in t&&(e.conversion=t.conversion),e}(i)}))}));var s=o,l={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]},u={getRgba:d,getHsla:h,getRgb:function(t){var e=d(t);return e&&e.slice(0,3)},getHsl:function(t){var e=h(t);return e&&e.slice(0,3)},getHwb:c,getAlpha:function(t){var e=d(t);if(e)return e[3];if(e=h(t))return e[3];if(e=c(t))return e[3]},hexString:function(t,e){e=void 0!==e&&3===t.length?e:t[3];return"#"+v(t[0])+v(t[1])+v(t[2])+(e>=0&&e<1?v(Math.round(255*e)):"")},rgbString:function(t,e){if(e<1||t[3]&&t[3]<1)return f(t,e);return"rgb("+t[0]+", "+t[1]+", "+t[2]+")"},rgbaString:f,percentString:function(t,e){if(e<1||t[3]&&t[3]<1)return g(t,e);var n=Math.round(t[0]/255*100),i=Math.round(t[1]/255*100),a=Math.round(t[2]/255*100);return"rgb("+n+"%, "+i+"%, "+a+"%)"},percentaString:g,hslString:function(t,e){if(e<1||t[3]&&t[3]<1)return p(t,e);return"hsl("+t[0]+", "+t[1]+"%, "+t[2]+"%)"},hslaString:p,hwbString:function(t,e){void 0===e&&(e=void 0!==t[3]?t[3]:1);return"hwb("+t[0]+", "+t[1]+"%, "+t[2]+"%"+(void 0!==e&&1!==e?", "+e:"")+")"},keyword:function(t){return b[t.slice(0,3)]}};function d(t){if(t){var e=[0,0,0],n=1,i=t.match(/^#([a-fA-F0-9]{3,4})$/i),a="";if(i){a=(i=i[1])[3];for(var r=0;rn?(e+.05)/(n+.05):(n+.05)/(e+.05)},level:function(t){var e=this.contrast(t);return e>=7.1?"AAA":e>=4.5?"AA":""},dark:function(){var t=this.values.rgb;return(299*t[0]+587*t[1]+114*t[2])/1e3<128},light:function(){return!this.dark()},negate:function(){for(var t=[],e=0;e<3;e++)t[e]=255-this.values.rgb[e];return this.setValues("rgb",t),this},lighten:function(t){var e=this.values.hsl;return e[2]+=e[2]*t,this.setValues("hsl",e),this},darken:function(t){var e=this.values.hsl;return e[2]-=e[2]*t,this.setValues("hsl",e),this},saturate:function(t){var e=this.values.hsl;return e[1]+=e[1]*t,this.setValues("hsl",e),this},desaturate:function(t){var e=this.values.hsl;return e[1]-=e[1]*t,this.setValues("hsl",e),this},whiten:function(t){var e=this.values.hwb;return e[1]+=e[1]*t,this.setValues("hwb",e),this},blacken:function(t){var e=this.values.hwb;return e[2]+=e[2]*t,this.setValues("hwb",e),this},greyscale:function(){var t=this.values.rgb,e=.3*t[0]+.59*t[1]+.11*t[2];return this.setValues("rgb",[e,e,e]),this},clearer:function(t){var e=this.values.alpha;return this.setValues("alpha",e-e*t),this},opaquer:function(t){var e=this.values.alpha;return this.setValues("alpha",e+e*t),this},rotate:function(t){var e=this.values.hsl,n=(e[0]+t)%360;return e[0]=n<0?360+n:n,this.setValues("hsl",e),this},mix:function(t,e){var n=t,i=void 0===e?.5:e,a=2*i-1,r=this.alpha()-n.alpha(),o=((a*r==-1?a:(a+r)/(1+a*r))+1)/2,s=1-o;return this.rgb(o*this.red()+s*n.red(),o*this.green()+s*n.green(),o*this.blue()+s*n.blue()).alpha(this.alpha()*i+n.alpha()*(1-i))},toJSON:function(){return this.rgb()},clone:function(){var t,e,n=new y,i=this.values,a=n.values;for(var r in i)i.hasOwnProperty(r)&&(t=i[r],"[object Array]"===(e={}.toString.call(t))?a[r]=t.slice(0):"[object Number]"===e?a[r]=t:console.error("unexpected color value:",t));return n}},y.prototype.spaces={rgb:["red","green","blue"],hsl:["hue","saturation","lightness"],hsv:["hue","saturation","value"],hwb:["hue","whiteness","blackness"],cmyk:["cyan","magenta","yellow","black"]},y.prototype.maxes={rgb:[255,255,255],hsl:[360,100,100],hsv:[360,100,100],hwb:[360,100,100],cmyk:[100,100,100,100]},y.prototype.getValues=function(t){for(var e=this.values,n={},i=0;i=0;a--)e.call(n,t[a],a);else for(a=0;a=1?t:-(Math.sqrt(1-t*t)-1)},easeOutCirc:function(t){return Math.sqrt(1-(t-=1)*t)},easeInOutCirc:function(t){return(t/=.5)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},easeInElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n))},easeOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:1===t?1:(n||(n=.3),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/n)+1)},easeInOutElastic:function(t){var e=1.70158,n=0,i=1;return 0===t?0:2==(t/=.5)?1:(n||(n=.45),i<1?(i=1,e=n/4):e=n/(2*Math.PI)*Math.asin(1/i),t<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/n)*.5+1)},easeInBack:function(t){var e=1.70158;return t*t*((e+1)*t-e)},easeOutBack:function(t){var e=1.70158;return(t-=1)*t*((e+1)*t+e)+1},easeInOutBack:function(t){var e=1.70158;return(t/=.5)<1?t*t*((1+(e*=1.525))*t-e)*.5:.5*((t-=2)*t*((1+(e*=1.525))*t+e)+2)},easeInBounce:function(t){return 1-S.easeOutBounce(1-t)},easeOutBounce:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},easeInOutBounce:function(t){return t<.5?.5*S.easeInBounce(2*t):.5*S.easeOutBounce(2*t-1)+.5}},C={effects:S};M.easingEffects=S;var P=Math.PI,A=P/180,D=2*P,T=P/2,I=P/4,F=2*P/3,L={clear:function(t){t.ctx.clearRect(0,0,t.width,t.height)},roundedRect:function(t,e,n,i,a,r){if(r){var o=Math.min(r,a/2,i/2),s=e+o,l=n+o,u=e+i-o,d=n+a-o;t.moveTo(e,l),se.left-1e-6&&t.xe.top-1e-6&&t.y0&&this.requestAnimationFrame()},advance:function(){for(var t,e,n,i,a=this.animations,r=0;r=n?(V.callback(t.onAnimationComplete,[t],e),e.animating=!1,a.splice(r,1)):++r}},J=V.options.resolve,Q=["push","pop","shift","splice","unshift"];function tt(t,e){var n=t._chartjs;if(n){var i=n.listeners,a=i.indexOf(e);-1!==a&&i.splice(a,1),i.length>0||(Q.forEach((function(e){delete t[e]})),delete t._chartjs)}}var et=function(t,e){this.initialize(t,e)};V.extend(et.prototype,{datasetElementType:null,dataElementType:null,_datasetElementOptions:["backgroundColor","borderCapStyle","borderColor","borderDash","borderDashOffset","borderJoinStyle","borderWidth"],_dataElementOptions:["backgroundColor","borderColor","borderWidth","pointStyle"],initialize:function(t,e){var n=this;n.chart=t,n.index=e,n.linkScales(),n.addElements(),n._type=n.getMeta().type},updateIndex:function(t){this.index=t},linkScales:function(){var t=this.getMeta(),e=this.chart,n=e.scales,i=this.getDataset(),a=e.options.scales;null!==t.xAxisID&&t.xAxisID in n&&!i.xAxisID||(t.xAxisID=i.xAxisID||a.xAxes[0].id),null!==t.yAxisID&&t.yAxisID in n&&!i.yAxisID||(t.yAxisID=i.yAxisID||a.yAxes[0].id)},getDataset:function(){return this.chart.data.datasets[this.index]},getMeta:function(){return this.chart.getDatasetMeta(this.index)},getScaleForId:function(t){return this.chart.scales[t]},_getValueScaleId:function(){return this.getMeta().yAxisID},_getIndexScaleId:function(){return this.getMeta().xAxisID},_getValueScale:function(){return this.getScaleForId(this._getValueScaleId())},_getIndexScale:function(){return this.getScaleForId(this._getIndexScaleId())},reset:function(){this._update(!0)},destroy:function(){this._data&&tt(this._data,this)},createMetaDataset:function(){var t=this.datasetElementType;return t&&new t({_chart:this.chart,_datasetIndex:this.index})},createMetaData:function(t){var e=this.dataElementType;return e&&new e({_chart:this.chart,_datasetIndex:this.index,_index:t})},addElements:function(){var t,e,n=this.getMeta(),i=this.getDataset().data||[],a=n.data;for(t=0,e=i.length;tn&&this.insertElements(n,i-n)},insertElements:function(t,e){for(var n=0;na?(r=a/e.innerRadius,t.arc(o,s,e.innerRadius-a,i+r,n-r,!0)):t.arc(o,s,a,i+Math.PI/2,n-Math.PI/2),t.closePath(),t.clip()}function rt(t,e,n){var i="inner"===e.borderAlign;i?(t.lineWidth=2*e.borderWidth,t.lineJoin="round"):(t.lineWidth=e.borderWidth,t.lineJoin="bevel"),n.fullCircles&&function(t,e,n,i){var a,r=n.endAngle;for(i&&(n.endAngle=n.startAngle+it,at(t,n),n.endAngle=r,n.endAngle===n.startAngle&&n.fullCircles&&(n.endAngle+=it,n.fullCircles--)),t.beginPath(),t.arc(n.x,n.y,n.innerRadius,n.startAngle+it,n.startAngle,!0),a=0;as;)a-=it;for(;a=o&&a<=s,u=r>=n.innerRadius&&r<=n.outerRadius;return l&&u}return!1},getCenterPoint:function(){var t=this._view,e=(t.startAngle+t.endAngle)/2,n=(t.innerRadius+t.outerRadius)/2;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},getArea:function(){var t=this._view;return Math.PI*((t.endAngle-t.startAngle)/(2*Math.PI))*(Math.pow(t.outerRadius,2)-Math.pow(t.innerRadius,2))},tooltipPosition:function(){var t=this._view,e=t.startAngle+(t.endAngle-t.startAngle)/2,n=(t.outerRadius-t.innerRadius)/2+t.innerRadius;return{x:t.x+Math.cos(e)*n,y:t.y+Math.sin(e)*n}},draw:function(){var t,e=this._chart.ctx,n=this._view,i="inner"===n.borderAlign?.33:0,a={x:n.x,y:n.y,innerRadius:n.innerRadius,outerRadius:Math.max(n.outerRadius-i,0),pixelMargin:i,startAngle:n.startAngle,endAngle:n.endAngle,fullCircles:Math.floor(n.circumference/it)};if(e.save(),e.fillStyle=n.backgroundColor,e.strokeStyle=n.borderColor,a.fullCircles){for(a.endAngle=a.startAngle+it,e.beginPath(),e.arc(a.x,a.y,a.outerRadius,a.startAngle,a.endAngle),e.arc(a.x,a.y,a.innerRadius,a.endAngle,a.startAngle,!0),e.closePath(),t=0;tt.x&&(e=vt(e,"left","right")):t.basen?n:i,r:l.right||a<0?0:a>e?e:a,b:l.bottom||r<0?0:r>n?n:r,l:l.left||o<0?0:o>e?e:o}}function xt(t,e,n){var i=null===e,a=null===n,r=!(!t||i&&a)&&mt(t);return r&&(i||e>=r.left&&e<=r.right)&&(a||n>=r.top&&n<=r.bottom)}z._set("global",{elements:{rectangle:{backgroundColor:gt,borderColor:gt,borderSkipped:"bottom",borderWidth:0}}});var yt=X.extend({_type:"rectangle",draw:function(){var t=this._chart.ctx,e=this._view,n=function(t){var e=mt(t),n=e.right-e.left,i=e.bottom-e.top,a=bt(t,n/2,i/2);return{outer:{x:e.left,y:e.top,w:n,h:i},inner:{x:e.left+a.l,y:e.top+a.t,w:n-a.l-a.r,h:i-a.t-a.b}}}(e),i=n.outer,a=n.inner;t.fillStyle=e.backgroundColor,t.fillRect(i.x,i.y,i.w,i.h),i.w===a.w&&i.h===a.h||(t.save(),t.beginPath(),t.rect(i.x,i.y,i.w,i.h),t.clip(),t.fillStyle=e.borderColor,t.rect(a.x,a.y,a.w,a.h),t.fill("evenodd"),t.restore())},height:function(){var t=this._view;return t.base-t.y},inRange:function(t,e){return xt(this._view,t,e)},inLabelRange:function(t,e){var n=this._view;return pt(n)?xt(n,t,null):xt(n,null,e)},inXRange:function(t){return xt(this._view,t,null)},inYRange:function(t){return xt(this._view,null,t)},getCenterPoint:function(){var t,e,n=this._view;return pt(n)?(t=n.x,e=(n.y+n.base)/2):(t=(n.x+n.base)/2,e=n.y),{x:t,y:e}},getArea:function(){var t=this._view;return pt(t)?t.width*Math.abs(t.y-t.base):t.height*Math.abs(t.x-t.base)},tooltipPosition:function(){var t=this._view;return{x:t.x,y:t.y}}}),_t={},kt=ot,wt=ut,Mt=ft,St=yt;_t.Arc=kt,_t.Line=wt,_t.Point=Mt,_t.Rectangle=St;var Ct=V._deprecated,Pt=V.valueOrDefault;function At(t,e,n){var i,a,r=n.barThickness,o=e.stackCount,s=e.pixels[t],l=V.isNullOrUndef(r)?function(t,e){var n,i,a,r,o=t._length;for(a=1,r=e.length;a0?Math.min(o,Math.abs(i-n)):o,n=i;return o}(e.scale,e.pixels):-1;return V.isNullOrUndef(r)?(i=l*n.categoryPercentage,a=n.barPercentage):(i=r*o,a=1),{chunk:i/o,ratio:a,start:s-i/2}}z._set("bar",{hover:{mode:"label"},scales:{xAxes:[{type:"category",offset:!0,gridLines:{offsetGridLines:!0}}],yAxes:[{type:"linear"}]}}),z._set("global",{datasets:{bar:{categoryPercentage:.8,barPercentage:.9}}});var Dt=nt.extend({dataElementType:_t.Rectangle,_dataElementOptions:["backgroundColor","borderColor","borderSkipped","borderWidth","barPercentage","barThickness","categoryPercentage","maxBarThickness","minBarLength"],initialize:function(){var t,e,n=this;nt.prototype.initialize.apply(n,arguments),(t=n.getMeta()).stack=n.getDataset().stack,t.bar=!0,e=n._getIndexScale().options,Ct("bar chart",e.barPercentage,"scales.[x/y]Axes.barPercentage","dataset.barPercentage"),Ct("bar chart",e.barThickness,"scales.[x/y]Axes.barThickness","dataset.barThickness"),Ct("bar chart",e.categoryPercentage,"scales.[x/y]Axes.categoryPercentage","dataset.categoryPercentage"),Ct("bar chart",n._getValueScale().options.minBarLength,"scales.[x/y]Axes.minBarLength","dataset.minBarLength"),Ct("bar chart",e.maxBarThickness,"scales.[x/y]Axes.maxBarThickness","dataset.maxBarThickness")},update:function(t){var e,n,i=this.getMeta().data;for(this._ruler=this.getRuler(),e=0,n=i.length;e=0&&p.min>=0?p.min:p.max,y=void 0===p.start?p.end:p.max>=0&&p.min>=0?p.max-p.min:p.min-p.max,_=g.length;if(v||void 0===v&&void 0!==b)for(i=0;i<_&&(a=g[i]).index!==t;++i)a.stack===b&&(r=void 0===(u=h._parseValue(f[a.index].data[e])).start?u.end:u.min>=0&&u.max>=0?u.max:u.min,(p.min<0&&r<0||p.max>=0&&r>0)&&(x+=r));return o=h.getPixelForValue(x),l=(s=h.getPixelForValue(x+y))-o,void 0!==m&&Math.abs(l)=0&&!c||y<0&&c?o-m:o+m),{size:l,base:o,head:s,center:s+l/2}},calculateBarIndexPixels:function(t,e,n,i){var a="flex"===i.barThickness?function(t,e,n){var i,a=e.pixels,r=a[t],o=t>0?a[t-1]:null,s=t=Ot?-Rt:b<-Ot?Rt:0)+m,y=Math.cos(b),_=Math.sin(b),k=Math.cos(x),w=Math.sin(x),M=b<=0&&x>=0||x>=Rt,S=b<=zt&&x>=zt||x>=Rt+zt,C=b<=-zt&&x>=-zt||x>=Ot+zt,P=b===-Ot||x>=Ot?-1:Math.min(y,y*p,k,k*p),A=C?-1:Math.min(_,_*p,w,w*p),D=M?1:Math.max(y,y*p,k,k*p),T=S?1:Math.max(_,_*p,w,w*p);u=(D-P)/2,d=(T-A)/2,h=-(D+P)/2,c=-(T+A)/2}for(i=0,a=g.length;i0&&!isNaN(t)?Rt*(Math.abs(t)/e):0},getMaxBorderWidth:function(t){var e,n,i,a,r,o,s,l,u=0,d=this.chart;if(!t)for(e=0,n=d.data.datasets.length;e(u=s>u?s:u)?l:u);return u},setHoverStyle:function(t){var e=t._model,n=t._options,i=V.getHoverColor;t.$previousStyle={backgroundColor:e.backgroundColor,borderColor:e.borderColor,borderWidth:e.borderWidth},e.backgroundColor=Lt(n.hoverBackgroundColor,i(n.backgroundColor)),e.borderColor=Lt(n.hoverBorderColor,i(n.borderColor)),e.borderWidth=Lt(n.hoverBorderWidth,n.borderWidth)},_getRingWeightOffset:function(t){for(var e=0,n=0;n0&&Vt(l[t-1]._model,s)&&(n.controlPointPreviousX=u(n.controlPointPreviousX,s.left,s.right),n.controlPointPreviousY=u(n.controlPointPreviousY,s.top,s.bottom)),t0&&(r=t.getDatasetMeta(r[0]._datasetIndex).data),r},"x-axis":function(t,e){return ie(t,e,{intersect:!1})},point:function(t,e){return te(t,Jt(e,t))},nearest:function(t,e,n){var i=Jt(e,t);n.axis=n.axis||"xy";var a=ne(n.axis);return ee(t,i,n.intersect,a)},x:function(t,e,n){var i=Jt(e,t),a=[],r=!1;return Qt(t,(function(t){t.inXRange(i.x)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)})),n.intersect&&!r&&(a=[]),a},y:function(t,e,n){var i=Jt(e,t),a=[],r=!1;return Qt(t,(function(t){t.inYRange(i.y)&&a.push(t),t.inRange(i.x,i.y)&&(r=!0)})),n.intersect&&!r&&(a=[]),a}}},re=V.extend;function oe(t,e){return V.where(t,(function(t){return t.pos===e}))}function se(t,e){return t.sort((function(t,n){var i=e?n:t,a=e?t:n;return i.weight===a.weight?i.index-a.index:i.weight-a.weight}))}function le(t,e,n,i){return Math.max(t[n],e[n])+Math.max(t[i],e[i])}function ue(t,e,n){var i,a,r=n.box,o=t.maxPadding;if(n.size&&(t[n.pos]-=n.size),n.size=n.horizontal?r.height:r.width,t[n.pos]+=n.size,r.getPadding){var s=r.getPadding();o.top=Math.max(o.top,s.top),o.left=Math.max(o.left,s.left),o.bottom=Math.max(o.bottom,s.bottom),o.right=Math.max(o.right,s.right)}if(i=e.outerWidth-le(o,t,"left","right"),a=e.outerHeight-le(o,t,"top","bottom"),i!==t.w||a!==t.h)return t.w=i,t.h=a,n.horizontal?i!==t.w:a!==t.h}function de(t,e){var n=e.maxPadding;function i(t){var i={left:0,top:0,right:0,bottom:0};return t.forEach((function(t){i[t]=Math.max(e[t],n[t])})),i}return i(t?["left","right"]:["top","bottom"])}function he(t,e,n){var i,a,r,o,s,l,u=[];for(i=0,a=t.length;idiv{position:absolute;width:1000000px;height:1000000px;left:0;top:0}.chartjs-size-monitor-shrink>div{position:absolute;width:200%;height:200%;left:0;top:0}"}))&&fe.default||fe,me="$chartjs",ve="chartjs-size-monitor",be="chartjs-render-monitor",xe="chartjs-render-animation",ye=["animationstart","webkitAnimationStart"],_e={touchstart:"mousedown",touchmove:"mousemove",touchend:"mouseup",pointerenter:"mouseenter",pointerdown:"mousedown",pointermove:"mousemove",pointerup:"mouseup",pointerleave:"mouseout",pointerout:"mouseout"};function ke(t,e){var n=V.getStyle(t,e),i=n&&n.match(/^(\d+)(\.\d+)?px$/);return i?Number(i[1]):void 0}var we=!!function(){var t=!1;try{var e=Object.defineProperty({},"passive",{get:function(){t=!0}});window.addEventListener("e",null,e)}catch(t){}return t}()&&{passive:!0};function Me(t,e,n){t.addEventListener(e,n,we)}function Se(t,e,n){t.removeEventListener(e,n,we)}function Ce(t,e,n,i,a){return{type:t,chart:e,native:a||null,x:void 0!==n?n:null,y:void 0!==i?i:null}}function Pe(t){var e=document.createElement("div");return e.className=t||"",e}function Ae(t,e,n){var i,a,r,o,s=t[me]||(t[me]={}),l=s.resizer=function(t){var e=Pe(ve),n=Pe(ve+"-expand"),i=Pe(ve+"-shrink");n.appendChild(Pe()),i.appendChild(Pe()),e.appendChild(n),e.appendChild(i),e._reset=function(){n.scrollLeft=1e6,n.scrollTop=1e6,i.scrollLeft=1e6,i.scrollTop=1e6};var a=function(){e._reset(),t()};return Me(n,"scroll",a.bind(n,"expand")),Me(i,"scroll",a.bind(i,"shrink")),e}((i=function(){if(s.resizer){var i=n.options.maintainAspectRatio&&t.parentNode,a=i?i.clientWidth:0;e(Ce("resize",n)),i&&i.clientWidth0){var r=t[0];r.label?n=r.label:r.xLabel?n=r.xLabel:a>0&&r.index-1?t.split("\n"):t}function We(t){var e=z.global;return{xPadding:t.xPadding,yPadding:t.yPadding,xAlign:t.xAlign,yAlign:t.yAlign,rtl:t.rtl,textDirection:t.textDirection,bodyFontColor:t.bodyFontColor,_bodyFontFamily:Re(t.bodyFontFamily,e.defaultFontFamily),_bodyFontStyle:Re(t.bodyFontStyle,e.defaultFontStyle),_bodyAlign:t.bodyAlign,bodyFontSize:Re(t.bodyFontSize,e.defaultFontSize),bodySpacing:t.bodySpacing,titleFontColor:t.titleFontColor,_titleFontFamily:Re(t.titleFontFamily,e.defaultFontFamily),_titleFontStyle:Re(t.titleFontStyle,e.defaultFontStyle),titleFontSize:Re(t.titleFontSize,e.defaultFontSize),_titleAlign:t.titleAlign,titleSpacing:t.titleSpacing,titleMarginBottom:t.titleMarginBottom,footerFontColor:t.footerFontColor,_footerFontFamily:Re(t.footerFontFamily,e.defaultFontFamily),_footerFontStyle:Re(t.footerFontStyle,e.defaultFontStyle),footerFontSize:Re(t.footerFontSize,e.defaultFontSize),_footerAlign:t.footerAlign,footerSpacing:t.footerSpacing,footerMarginTop:t.footerMarginTop,caretSize:t.caretSize,cornerRadius:t.cornerRadius,backgroundColor:t.backgroundColor,opacity:0,legendColorBackground:t.multiKeyBackground,displayColors:t.displayColors,borderColor:t.borderColor,borderWidth:t.borderWidth}}function Ve(t,e){return"center"===e?t.x+t.width/2:"right"===e?t.x+t.width-t.xPadding:t.x+t.xPadding}function He(t){return Be([],Ee(t))}var je=X.extend({initialize:function(){this._model=We(this._options),this._lastActive=[]},getTitle:function(){var t=this,e=t._options,n=e.callbacks,i=n.beforeTitle.apply(t,arguments),a=n.title.apply(t,arguments),r=n.afterTitle.apply(t,arguments),o=[];return o=Be(o,Ee(i)),o=Be(o,Ee(a)),o=Be(o,Ee(r))},getBeforeBody:function(){return He(this._options.callbacks.beforeBody.apply(this,arguments))},getBody:function(t,e){var n=this,i=n._options.callbacks,a=[];return V.each(t,(function(t){var r={before:[],lines:[],after:[]};Be(r.before,Ee(i.beforeLabel.call(n,t,e))),Be(r.lines,i.label.call(n,t,e)),Be(r.after,Ee(i.afterLabel.call(n,t,e))),a.push(r)})),a},getAfterBody:function(){return He(this._options.callbacks.afterBody.apply(this,arguments))},getFooter:function(){var t=this,e=t._options.callbacks,n=e.beforeFooter.apply(t,arguments),i=e.footer.apply(t,arguments),a=e.afterFooter.apply(t,arguments),r=[];return r=Be(r,Ee(n)),r=Be(r,Ee(i)),r=Be(r,Ee(a))},update:function(t){var e,n,i,a,r,o,s,l,u,d,h=this,c=h._options,f=h._model,g=h._model=We(c),p=h._active,m=h._data,v={xAlign:f.xAlign,yAlign:f.yAlign},b={x:f.x,y:f.y},x={width:f.width,height:f.height},y={x:f.caretX,y:f.caretY};if(p.length){g.opacity=1;var _=[],k=[];y=Ne[c.position].call(h,p,h._eventPosition);var w=[];for(e=0,n=p.length;ei.width&&(a=i.width-e.width),a<0&&(a=0)),"top"===d?r+=h:r-="bottom"===d?e.height+h:e.height/2,"center"===d?"left"===u?a+=h:"right"===u&&(a-=h):"left"===u?a-=c:"right"===u&&(a+=c),{x:a,y:r}}(g,x,v=function(t,e){var n,i,a,r,o,s=t._model,l=t._chart,u=t._chart.chartArea,d="center",h="center";s.yl.height-e.height&&(h="bottom");var c=(u.left+u.right)/2,f=(u.top+u.bottom)/2;"center"===h?(n=function(t){return t<=c},i=function(t){return t>c}):(n=function(t){return t<=e.width/2},i=function(t){return t>=l.width-e.width/2}),a=function(t){return t+e.width+s.caretSize+s.caretPadding>l.width},r=function(t){return t-e.width-s.caretSize-s.caretPadding<0},o=function(t){return t<=f?"top":"bottom"},n(s.x)?(d="left",a(s.x)&&(d="center",h=o(s.y))):i(s.x)&&(d="right",r(s.x)&&(d="center",h=o(s.y)));var g=t._options;return{xAlign:g.xAlign?g.xAlign:d,yAlign:g.yAlign?g.yAlign:h}}(this,x),h._chart)}else g.opacity=0;return g.xAlign=v.xAlign,g.yAlign=v.yAlign,g.x=b.x,g.y=b.y,g.width=x.width,g.height=x.height,g.caretX=y.x,g.caretY=y.y,h._model=g,t&&c.custom&&c.custom.call(h,g),h},drawCaret:function(t,e){var n=this._chart.ctx,i=this._view,a=this.getCaretPosition(t,e,i);n.lineTo(a.x1,a.y1),n.lineTo(a.x2,a.y2),n.lineTo(a.x3,a.y3)},getCaretPosition:function(t,e,n){var i,a,r,o,s,l,u=n.caretSize,d=n.cornerRadius,h=n.xAlign,c=n.yAlign,f=t.x,g=t.y,p=e.width,m=e.height;if("center"===c)s=g+m/2,"left"===h?(a=(i=f)-u,r=i,o=s+u,l=s-u):(a=(i=f+p)+u,r=i,o=s-u,l=s+u);else if("left"===h?(i=(a=f+d+u)-u,r=a+u):"right"===h?(i=(a=f+p-d-u)-u,r=a+u):(i=(a=n.caretX)-u,r=a+u),"top"===c)s=(o=g)-u,l=o;else{s=(o=g+m)+u,l=o;var v=r;r=i,i=v}return{x1:i,x2:a,x3:r,y1:o,y2:s,y3:l}},drawTitle:function(t,e,n){var i,a,r,o=e.title,s=o.length;if(s){var l=ze(e.rtl,e.x,e.width);for(t.x=Ve(e,e._titleAlign),n.textAlign=l.textAlign(e._titleAlign),n.textBaseline="middle",i=e.titleFontSize,a=e.titleSpacing,n.fillStyle=e.titleFontColor,n.font=V.fontString(i,e._titleFontStyle,e._titleFontFamily),r=0;r0&&n.stroke()},draw:function(){var t=this._chart.ctx,e=this._view;if(0!==e.opacity){var n={width:e.width,height:e.height},i={x:e.x,y:e.y},a=Math.abs(e.opacity<.001)?0:e.opacity,r=e.title.length||e.beforeBody.length||e.body.length||e.afterBody.length||e.footer.length;this._options.enabled&&r&&(t.save(),t.globalAlpha=a,this.drawBackground(i,e,t,n),i.y+=e.yPadding,V.rtl.overrideTextDirection(t,e.textDirection),this.drawTitle(i,e,t),this.drawBody(i,e,t),this.drawFooter(i,e,t),V.rtl.restoreTextDirection(t,e.textDirection),t.restore())}},handleEvent:function(t){var e,n=this,i=n._options;return n._lastActive=n._lastActive||[],"mouseout"===t.type?n._active=[]:(n._active=n._chart.getElementsAtEventForMode(t,i.mode,i),i.reverse&&n._active.reverse()),(e=!V.arrayEquals(n._active,n._lastActive))&&(n._lastActive=n._active,(i.enabled||i.custom)&&(n._eventPosition={x:t.x,y:t.y},n.update(!0),n.pivot())),e}}),qe=Ne,Ue=je;Ue.positioners=qe;var Ye=V.valueOrDefault;function Ge(){return V.merge({},[].slice.call(arguments),{merger:function(t,e,n,i){if("xAxes"===t||"yAxes"===t){var a,r,o,s=n[t].length;for(e[t]||(e[t]=[]),a=0;a=e[t].length&&e[t].push({}),!e[t][a].type||o.type&&o.type!==e[t][a].type?V.merge(e[t][a],[Oe.getScaleDefaults(r),o]):V.merge(e[t][a],o)}else V._merger(t,e,n,i)}})}function Xe(){return V.merge({},[].slice.call(arguments),{merger:function(t,e,n,i){var a=e[t]||{},r=n[t];"scales"===t?e[t]=Ge(a,r):"scale"===t?e[t]=V.merge(a,[Oe.getScaleDefaults(r.type),r]):V._merger(t,e,n,i)}})}function Ke(t){var e=t.options;V.each(t.scales,(function(e){ge.removeBox(t,e)})),e=Xe(z.global,z[t.config.type],e),t.options=t.config.options=e,t.ensureScalesHaveIDs(),t.buildOrUpdateScales(),t.tooltip._options=e.tooltips,t.tooltip.initialize()}function Ze(t,e,n){var i,a=function(t){return t.id===i};do{i=e+n++}while(V.findIndex(t,a)>=0);return i}function $e(t){return"top"===t||"bottom"===t}function Je(t,e){return function(n,i){return n[t]===i[t]?n[e]-i[e]:n[t]-i[t]}}z._set("global",{elements:{},events:["mousemove","mouseout","click","touchstart","touchmove"],hover:{onHover:null,mode:"nearest",intersect:!0,animationDuration:400},onClick:null,maintainAspectRatio:!0,responsive:!0,responsiveAnimationDuration:0});var Qe=function(t,e){return this.construct(t,e),this};V.extend(Qe.prototype,{construct:function(t,e){var n=this;e=function(t){var e=(t=t||{}).data=t.data||{};return e.datasets=e.datasets||[],e.labels=e.labels||[],t.options=Xe(z.global,z[t.type],t.options||{}),t}(e);var i=Fe.acquireContext(t,e),a=i&&i.canvas,r=a&&a.height,o=a&&a.width;n.id=V.uid(),n.ctx=i,n.canvas=a,n.config=e,n.width=o,n.height=r,n.aspectRatio=r?o/r:null,n.options=e.options,n._bufferedRender=!1,n._layers=[],n.chart=n,n.controller=n,Qe.instances[n.id]=n,Object.defineProperty(n,"data",{get:function(){return n.config.data},set:function(t){n.config.data=t}}),i&&a?(n.initialize(),n.update()):console.error("Failed to create chart: can't acquire context from the given item")},initialize:function(){var t=this;return Le.notify(t,"beforeInit"),V.retinaScale(t,t.options.devicePixelRatio),t.bindEvents(),t.options.responsive&&t.resize(!0),t.initToolTip(),Le.notify(t,"afterInit"),t},clear:function(){return V.canvas.clear(this),this},stop:function(){return $.cancelAnimation(this),this},resize:function(t){var e=this,n=e.options,i=e.canvas,a=n.maintainAspectRatio&&e.aspectRatio||null,r=Math.max(0,Math.floor(V.getMaximumWidth(i))),o=Math.max(0,Math.floor(a?r/a:V.getMaximumHeight(i)));if((e.width!==r||e.height!==o)&&(i.width=e.width=r,i.height=e.height=o,i.style.width=r+"px",i.style.height=o+"px",V.retinaScale(e,n.devicePixelRatio),!t)){var s={width:r,height:o};Le.notify(e,"resize",[s]),n.onResize&&n.onResize(e,s),e.stop(),e.update({duration:n.responsiveAnimationDuration})}},ensureScalesHaveIDs:function(){var t=this.options,e=t.scales||{},n=t.scale;V.each(e.xAxes,(function(t,n){t.id||(t.id=Ze(e.xAxes,"x-axis-",n))})),V.each(e.yAxes,(function(t,n){t.id||(t.id=Ze(e.yAxes,"y-axis-",n))})),n&&(n.id=n.id||"scale")},buildOrUpdateScales:function(){var t=this,e=t.options,n=t.scales||{},i=[],a=Object.keys(n).reduce((function(t,e){return t[e]=!1,t}),{});e.scales&&(i=i.concat((e.scales.xAxes||[]).map((function(t){return{options:t,dtype:"category",dposition:"bottom"}})),(e.scales.yAxes||[]).map((function(t){return{options:t,dtype:"linear",dposition:"left"}})))),e.scale&&i.push({options:e.scale,dtype:"radialLinear",isDefault:!0,dposition:"chartArea"}),V.each(i,(function(e){var i=e.options,r=i.id,o=Ye(i.type,e.dtype);$e(i.position)!==$e(e.dposition)&&(i.position=e.dposition),a[r]=!0;var s=null;if(r in n&&n[r].type===o)(s=n[r]).options=i,s.ctx=t.ctx,s.chart=t;else{var l=Oe.getScaleConstructor(o);if(!l)return;s=new l({id:r,type:o,options:i,ctx:t.ctx,chart:t}),n[s.id]=s}s.mergeTicksOptions(),e.isDefault&&(t.scale=s)})),V.each(a,(function(t,e){t||delete n[e]})),t.scales=n,Oe.addScalesToLayout(this)},buildOrUpdateControllers:function(){var t,e,n=this,i=[],a=n.data.datasets;for(t=0,e=a.length;t=0;--n)this.drawDataset(e[n],t);Le.notify(this,"afterDatasetsDraw",[t])}},drawDataset:function(t,e){var n={meta:t,index:t.index,easingValue:e};!1!==Le.notify(this,"beforeDatasetDraw",[n])&&(t.controller.draw(e),Le.notify(this,"afterDatasetDraw",[n]))},_drawTooltip:function(t){var e=this.tooltip,n={tooltip:e,easingValue:t};!1!==Le.notify(this,"beforeTooltipDraw",[n])&&(e.draw(),Le.notify(this,"afterTooltipDraw",[n]))},getElementAtEvent:function(t){return ae.modes.single(this,t)},getElementsAtEvent:function(t){return ae.modes.label(this,t,{intersect:!0})},getElementsAtXAxis:function(t){return ae.modes["x-axis"](this,t,{intersect:!0})},getElementsAtEventForMode:function(t,e,n){var i=ae.modes[e];return"function"==typeof i?i(this,t,n):[]},getDatasetAtEvent:function(t){return ae.modes.dataset(this,t,{intersect:!0})},getDatasetMeta:function(t){var e=this.data.datasets[t];e._meta||(e._meta={});var n=e._meta[this.id];return n||(n=e._meta[this.id]={type:null,data:[],dataset:null,controller:null,hidden:null,xAxisID:null,yAxisID:null,order:e.order||0,index:t}),n},getVisibleDatasetCount:function(){for(var t=0,e=0,n=this.data.datasets.length;e3?n[2]-n[1]:n[1]-n[0];Math.abs(i)>1&&t!==Math.floor(t)&&(i=t-Math.floor(t));var a=V.log10(Math.abs(i)),r="";if(0!==t)if(Math.max(Math.abs(n[0]),Math.abs(n[n.length-1]))<1e-4){var o=V.log10(Math.abs(t)),s=Math.floor(o)-Math.floor(a);s=Math.max(Math.min(s,20),0),r=t.toExponential(s)}else{var l=-1*Math.floor(a);l=Math.max(Math.min(l,20),0),r=t.toFixed(l)}else r="0";return r},logarithmic:function(t,e,n){var i=t/Math.pow(10,Math.floor(V.log10(t)));return 0===t?"0":1===i||2===i||5===i||0===e||e===n.length-1?t.toExponential():""}}},on=V.isArray,sn=V.isNullOrUndef,ln=V.valueOrDefault,un=V.valueAtIndexOrDefault;function dn(t,e,n){var i,a=t.getTicks().length,r=Math.min(e,a-1),o=t.getPixelForTick(r),s=t._startPixel,l=t._endPixel;if(!(n&&(i=1===a?Math.max(o-s,l-o):0===e?(t.getPixelForTick(1)-o)/2:(o-t.getPixelForTick(r-1))/2,(o+=rl+1e-6)))return o}function hn(t,e,n,i){var a,r,o,s,l,u,d,h,c,f,g,p,m,v=n.length,b=[],x=[],y=[];for(a=0;ae){for(n=0;n=c||d<=1||!s.isHorizontal()?s.labelRotation=h:(e=(t=s._getLabelSizes()).widest.width,n=t.highest.height-t.highest.offset,i=Math.min(s.maxWidth,s.chart.width-e),e+6>(a=l.offset?s.maxWidth/d:i/(d-1))&&(a=i/(d-(l.offset?.5:1)),r=s.maxHeight-cn(l.gridLines)-u.padding-fn(l.scaleLabel),o=Math.sqrt(e*e+n*n),f=V.toDegrees(Math.min(Math.asin(Math.min((t.highest.height+6)/a,1)),Math.asin(Math.min(r/o,1))-Math.asin(n/o))),f=Math.max(h,Math.min(c,f))),s.labelRotation=f)},afterCalculateTickRotation:function(){V.callback(this.options.afterCalculateTickRotation,[this])},beforeFit:function(){V.callback(this.options.beforeFit,[this])},fit:function(){var t=this,e=t.minSize={width:0,height:0},n=t.chart,i=t.options,a=i.ticks,r=i.scaleLabel,o=i.gridLines,s=t._isVisible(),l="bottom"===i.position,u=t.isHorizontal();if(u?e.width=t.maxWidth:s&&(e.width=cn(o)+fn(r)),u?s&&(e.height=cn(o)+fn(r)):e.height=t.maxHeight,a.display&&s){var d=pn(a),h=t._getLabelSizes(),c=h.first,f=h.last,g=h.widest,p=h.highest,m=.4*d.minor.lineHeight,v=a.padding;if(u){var b=0!==t.labelRotation,x=V.toRadians(t.labelRotation),y=Math.cos(x),_=Math.sin(x),k=_*g.width+y*(p.height-(b?p.offset:0))+(b?0:m);e.height=Math.min(t.maxHeight,e.height+k+v);var w,M,S=t.getPixelForTick(0)-t.left,C=t.right-t.getPixelForTick(t.getTicks().length-1);b?(w=l?y*c.width+_*c.offset:_*(c.height-c.offset),M=l?_*(f.height-f.offset):y*f.width+_*f.offset):(w=c.width/2,M=f.width/2),t.paddingLeft=Math.max((w-S)*t.width/(t.width-S),0)+3,t.paddingRight=Math.max((M-C)*t.width/(t.width-C),0)+3}else{var P=a.mirror?0:g.width+v+m;e.width=Math.min(t.maxWidth,e.width+P),t.paddingTop=c.height/2,t.paddingBottom=f.height/2}}t.handleMargins(),u?(t.width=t._length=n.width-t.margins.left-t.margins.right,t.height=e.height):(t.width=e.width,t.height=t._length=n.height-t.margins.top-t.margins.bottom)},handleMargins:function(){var t=this;t.margins&&(t.margins.left=Math.max(t.paddingLeft,t.margins.left),t.margins.top=Math.max(t.paddingTop,t.margins.top),t.margins.right=Math.max(t.paddingRight,t.margins.right),t.margins.bottom=Math.max(t.paddingBottom,t.margins.bottom))},afterFit:function(){V.callback(this.options.afterFit,[this])},isHorizontal:function(){var t=this.options.position;return"top"===t||"bottom"===t},isFullWidth:function(){return this.options.fullWidth},getRightValue:function(t){if(sn(t))return NaN;if(("number"==typeof t||t instanceof Number)&&!isFinite(t))return NaN;if(t)if(this.isHorizontal()){if(void 0!==t.x)return this.getRightValue(t.x)}else if(void 0!==t.y)return this.getRightValue(t.y);return t},_convertTicksToLabels:function(t){var e,n,i,a=this;for(a.ticks=t.map((function(t){return t.value})),a.beforeTickToLabelConversion(),e=a.convertTicksToLabels(t)||a.ticks,a.afterTickToLabelConversion(),n=0,i=t.length;nn-1?null:this.getPixelForDecimal(t*i+(e?i/2:0))},getPixelForDecimal:function(t){return this._reversePixels&&(t=1-t),this._startPixel+t*this._length},getDecimalForPixel:function(t){var e=(t-this._startPixel)/this._length;return this._reversePixels?1-e:e},getBasePixel:function(){return this.getPixelForValue(this.getBaseValue())},getBaseValue:function(){var t=this.min,e=this.max;return this.beginAtZero?0:t<0&&e<0?e:t>0&&e>0?t:0},_autoSkip:function(t){var e,n,i,a,r=this.options.ticks,o=this._length,s=r.maxTicksLimit||o/this._tickSize()+1,l=r.major.enabled?function(t){var e,n,i=[];for(e=0,n=t.length;es)return function(t,e,n){var i,a,r=0,o=e[0];for(n=Math.ceil(n),i=0;iu)return r;return Math.max(u,1)}(l,t,0,s),u>0){for(e=0,n=u-1;e1?(h-d)/(u-1):null,vn(t,i,V.isNullOrUndef(a)?0:d-a,d),vn(t,i,h,V.isNullOrUndef(a)?t.length:h+a),mn(t)}return vn(t,i),mn(t)},_tickSize:function(){var t=this.options.ticks,e=V.toRadians(this.labelRotation),n=Math.abs(Math.cos(e)),i=Math.abs(Math.sin(e)),a=this._getLabelSizes(),r=t.autoSkipPadding||0,o=a?a.widest.width+r:0,s=a?a.highest.height+r:0;return this.isHorizontal()?s*n>o*i?o/n:s/i:s*i=0&&(o=t),void 0!==r&&(t=n.indexOf(r))>=0&&(s=t),e.minIndex=o,e.maxIndex=s,e.min=n[o],e.max=n[s]},buildTicks:function(){var t=this._getLabels(),e=this.minIndex,n=this.maxIndex;this.ticks=0===e&&n===t.length-1?t:t.slice(e,n+1)},getLabelForIndex:function(t,e){var n=this.chart;return n.getDatasetMeta(e).controller._getValueScaleId()===this.id?this.getRightValue(n.data.datasets[e].data[t]):this._getLabels()[t]},_configure:function(){var t=this,e=t.options.offset,n=t.ticks;xn.prototype._configure.call(t),t.isHorizontal()||(t._reversePixels=!t._reversePixels),n&&(t._startValue=t.minIndex-(e?.5:0),t._valueRange=Math.max(n.length-(e?0:1),1))},getPixelForValue:function(t,e,n){var i,a,r,o=this;return yn(e)||yn(n)||(t=o.chart.data.datasets[n].data[e]),yn(t)||(i=o.isHorizontal()?t.x:t.y),(void 0!==i||void 0!==t&&isNaN(e))&&(a=o._getLabels(),t=V.valueOrDefault(i,t),e=-1!==(r=a.indexOf(t))?r:e,isNaN(e)&&(e=t)),o.getPixelForDecimal((e-o._startValue)/o._valueRange)},getPixelForTick:function(t){var e=this.ticks;return t<0||t>e.length-1?null:this.getPixelForValue(e[t],t+this.minIndex)},getValueForPixel:function(t){var e=Math.round(this._startValue+this.getDecimalForPixel(t)*this._valueRange);return Math.min(Math.max(e,0),this.ticks.length-1)},getBasePixel:function(){return this.bottom}}),kn={position:"bottom"};_n._defaults=kn;var wn=V.noop,Mn=V.isNullOrUndef;var Sn=xn.extend({getRightValue:function(t){return"string"==typeof t?+t:xn.prototype.getRightValue.call(this,t)},handleTickRangeOptions:function(){var t=this,e=t.options.ticks;if(e.beginAtZero){var n=V.sign(t.min),i=V.sign(t.max);n<0&&i<0?t.max=0:n>0&&i>0&&(t.min=0)}var a=void 0!==e.min||void 0!==e.suggestedMin,r=void 0!==e.max||void 0!==e.suggestedMax;void 0!==e.min?t.min=e.min:void 0!==e.suggestedMin&&(null===t.min?t.min=e.suggestedMin:t.min=Math.min(t.min,e.suggestedMin)),void 0!==e.max?t.max=e.max:void 0!==e.suggestedMax&&(null===t.max?t.max=e.suggestedMax:t.max=Math.max(t.max,e.suggestedMax)),a!==r&&t.min>=t.max&&(a?t.max=t.min+1:t.min=t.max-1),t.min===t.max&&(t.max++,e.beginAtZero||t.min--)},getTickLimit:function(){var t,e=this.options.ticks,n=e.stepSize,i=e.maxTicksLimit;return n?t=Math.ceil(this.max/n)-Math.floor(this.min/n)+1:(t=this._computeTickLimit(),i=i||11),i&&(t=Math.min(i,t)),t},_computeTickLimit:function(){return Number.POSITIVE_INFINITY},handleDirectionalChanges:wn,buildTicks:function(){var t=this,e=t.options.ticks,n=t.getTickLimit(),i={maxTicks:n=Math.max(2,n),min:e.min,max:e.max,precision:e.precision,stepSize:V.valueOrDefault(e.fixedStepSize,e.stepSize)},a=t.ticks=function(t,e){var n,i,a,r,o=[],s=t.stepSize,l=s||1,u=t.maxTicks-1,d=t.min,h=t.max,c=t.precision,f=e.min,g=e.max,p=V.niceNum((g-f)/u/l)*l;if(p<1e-14&&Mn(d)&&Mn(h))return[f,g];(r=Math.ceil(g/p)-Math.floor(f/p))>u&&(p=V.niceNum(r*p/u/l)*l),s||Mn(c)?n=Math.pow(10,V._decimalPlaces(p)):(n=Math.pow(10,c),p=Math.ceil(p*n)/n),i=Math.floor(f/p)*p,a=Math.ceil(g/p)*p,s&&(!Mn(d)&&V.almostWhole(d/p,p/1e3)&&(i=d),!Mn(h)&&V.almostWhole(h/p,p/1e3)&&(a=h)),r=(a-i)/p,r=V.almostEquals(r,Math.round(r),p/1e3)?Math.round(r):Math.ceil(r),i=Math.round(i*n)/n,a=Math.round(a*n)/n,o.push(Mn(d)?i:d);for(var m=1;me.length-1?null:this.getPixelForValue(e[t])}}),Tn=Cn;Dn._defaults=Tn;var In=V.valueOrDefault,Fn=V.math.log10;var Ln={position:"left",ticks:{callback:rn.formatters.logarithmic}};function On(t,e){return V.isFinite(t)&&t>=0?t:e}var Rn=xn.extend({determineDataLimits:function(){var t,e,n,i,a,r,o=this,s=o.options,l=o.chart,u=l.data.datasets,d=o.isHorizontal();function h(t){return d?t.xAxisID===o.id:t.yAxisID===o.id}o.min=Number.POSITIVE_INFINITY,o.max=Number.NEGATIVE_INFINITY,o.minNotZero=Number.POSITIVE_INFINITY;var c=s.stacked;if(void 0===c)for(t=0;t0){var e=V.min(t),n=V.max(t);o.min=Math.min(o.min,e),o.max=Math.max(o.max,n)}}))}else for(t=0;t0?t.minNotZero=t.min:t.max<1?t.minNotZero=Math.pow(10,Math.floor(Fn(t.max))):t.minNotZero=1)},buildTicks:function(){var t=this,e=t.options.ticks,n=!t.isHorizontal(),i={min:On(e.min),max:On(e.max)},a=t.ticks=function(t,e){var n,i,a=[],r=In(t.min,Math.pow(10,Math.floor(Fn(e.min)))),o=Math.floor(Fn(e.max)),s=Math.ceil(e.max/Math.pow(10,o));0===r?(n=Math.floor(Fn(e.minNotZero)),i=Math.floor(e.minNotZero/Math.pow(10,n)),a.push(r),r=i*Math.pow(10,n)):(n=Math.floor(Fn(r)),i=Math.floor(r/Math.pow(10,n)));var l=n<0?Math.pow(10,Math.abs(n)):1;do{a.push(r),10===++i&&(i=1,l=++n>=0?1:l),r=Math.round(i*Math.pow(10,n)*l)/l}while(ne.length-1?null:this.getPixelForValue(e[t])},_getFirstTickValue:function(t){var e=Math.floor(Fn(t));return Math.floor(t/Math.pow(10,e))*Math.pow(10,e)},_configure:function(){var t=this,e=t.min,n=0;xn.prototype._configure.call(t),0===e&&(e=t._getFirstTickValue(t.minNotZero),n=In(t.options.ticks.fontSize,z.global.defaultFontSize)/t._length),t._startValue=Fn(e),t._valueOffset=n,t._valueRange=(Fn(t.max)-Fn(e))/(1-n)},getPixelForValue:function(t){var e=this,n=0;return(t=+e.getRightValue(t))>e.min&&t>0&&(n=(Fn(t)-e._startValue)/e._valueRange+e._valueOffset),e.getPixelForDecimal(n)},getValueForPixel:function(t){var e=this,n=e.getDecimalForPixel(t);return 0===n&&0===e.min?0:Math.pow(10,e._startValue+(n-e._valueOffset)*e._valueRange)}}),zn=Ln;Rn._defaults=zn;var Nn=V.valueOrDefault,Bn=V.valueAtIndexOrDefault,En=V.options.resolve,Wn={display:!0,animate:!0,position:"chartArea",angleLines:{display:!0,color:"rgba(0,0,0,0.1)",lineWidth:1,borderDash:[],borderDashOffset:0},gridLines:{circular:!1},ticks:{showLabelBackdrop:!0,backdropColor:"rgba(255,255,255,0.75)",backdropPaddingY:2,backdropPaddingX:2,callback:rn.formatters.linear},pointLabels:{display:!0,fontSize:10,callback:function(t){return t}}};function Vn(t){var e=t.ticks;return e.display&&t.display?Nn(e.fontSize,z.global.defaultFontSize)+2*e.backdropPaddingY:0}function Hn(t,e,n,i,a){return t===i||t===a?{start:e-n/2,end:e+n/2}:ta?{start:e-n,end:e}:{start:e,end:e+n}}function jn(t){return 0===t||180===t?"center":t<180?"left":"right"}function qn(t,e,n,i){var a,r,o=n.y+i/2;if(V.isArray(e))for(a=0,r=e.length;a270||t<90)&&(n.y-=e.h)}function Yn(t){return V.isNumber(t)?t:0}var Gn=Sn.extend({setDimensions:function(){var t=this;t.width=t.maxWidth,t.height=t.maxHeight,t.paddingTop=Vn(t.options)/2,t.xCenter=Math.floor(t.width/2),t.yCenter=Math.floor((t.height-t.paddingTop)/2),t.drawingArea=Math.min(t.height-t.paddingTop,t.width)/2},determineDataLimits:function(){var t=this,e=t.chart,n=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY;V.each(e.data.datasets,(function(a,r){if(e.isDatasetVisible(r)){var o=e.getDatasetMeta(r);V.each(a.data,(function(e,a){var r=+t.getRightValue(e);isNaN(r)||o.data[a].hidden||(n=Math.min(r,n),i=Math.max(r,i))}))}})),t.min=n===Number.POSITIVE_INFINITY?0:n,t.max=i===Number.NEGATIVE_INFINITY?0:i,t.handleTickRangeOptions()},_computeTickLimit:function(){return Math.ceil(this.drawingArea/Vn(this.options))},convertTicksToLabels:function(){var t=this;Sn.prototype.convertTicksToLabels.call(t),t.pointLabels=t.chart.data.labels.map((function(){var e=V.callback(t.options.pointLabels.callback,arguments,t);return e||0===e?e:""}))},getLabelForIndex:function(t,e){return+this.getRightValue(this.chart.data.datasets[e].data[t])},fit:function(){var t=this.options;t.display&&t.pointLabels.display?function(t){var e,n,i,a=V.options._parseFont(t.options.pointLabels),r={l:0,r:t.width,t:0,b:t.height-t.paddingTop},o={};t.ctx.font=a.string,t._pointLabelSizes=[];var s,l,u,d=t.chart.data.labels.length;for(e=0;er.r&&(r.r=f.end,o.r=h),g.startr.b&&(r.b=g.end,o.b=h)}t.setReductions(t.drawingArea,r,o)}(this):this.setCenterPoint(0,0,0,0)},setReductions:function(t,e,n){var i=this,a=e.l/Math.sin(n.l),r=Math.max(e.r-i.width,0)/Math.sin(n.r),o=-e.t/Math.cos(n.t),s=-Math.max(e.b-(i.height-i.paddingTop),0)/Math.cos(n.b);a=Yn(a),r=Yn(r),o=Yn(o),s=Yn(s),i.drawingArea=Math.min(Math.floor(t-(a+r)/2),Math.floor(t-(o+s)/2)),i.setCenterPoint(a,r,o,s)},setCenterPoint:function(t,e,n,i){var a=this,r=a.width-e-a.drawingArea,o=t+a.drawingArea,s=n+a.drawingArea,l=a.height-a.paddingTop-i-a.drawingArea;a.xCenter=Math.floor((o+r)/2+a.left),a.yCenter=Math.floor((s+l)/2+a.top+a.paddingTop)},getIndexAngle:function(t){var e=this.chart,n=(t*(360/e.data.labels.length)+((e.options||{}).startAngle||0))%360;return(n<0?n+360:n)*Math.PI*2/360},getDistanceFromCenterForValue:function(t){var e=this;if(V.isNullOrUndef(t))return NaN;var n=e.drawingArea/(e.max-e.min);return e.options.ticks.reverse?(e.max-t)*n:(t-e.min)*n},getPointPosition:function(t,e){var n=this.getIndexAngle(t)-Math.PI/2;return{x:Math.cos(n)*e+this.xCenter,y:Math.sin(n)*e+this.yCenter}},getPointPositionForValue:function(t,e){return this.getPointPosition(t,this.getDistanceFromCenterForValue(e))},getBasePosition:function(t){var e=this.min,n=this.max;return this.getPointPositionForValue(t||0,this.beginAtZero?0:e<0&&n<0?n:e>0&&n>0?e:0)},_drawGrid:function(){var t,e,n,i=this,a=i.ctx,r=i.options,o=r.gridLines,s=r.angleLines,l=Nn(s.lineWidth,o.lineWidth),u=Nn(s.color,o.color);if(r.pointLabels.display&&function(t){var e=t.ctx,n=t.options,i=n.pointLabels,a=Vn(n),r=t.getDistanceFromCenterForValue(n.ticks.reverse?t.min:t.max),o=V.options._parseFont(i);e.save(),e.font=o.string,e.textBaseline="middle";for(var s=t.chart.data.labels.length-1;s>=0;s--){var l=0===s?a/2:0,u=t.getPointPosition(s,r+l+5),d=Bn(i.fontColor,s,z.global.defaultFontColor);e.fillStyle=d;var h=t.getIndexAngle(s),c=V.toDegrees(h);e.textAlign=jn(c),Un(c,t._pointLabelSizes[s],u),qn(e,t.pointLabels[s],u,o.lineHeight)}e.restore()}(i),o.display&&V.each(i.ticks,(function(t,n){0!==n&&(e=i.getDistanceFromCenterForValue(i.ticksAsNumbers[n]),function(t,e,n,i){var a,r=t.ctx,o=e.circular,s=t.chart.data.labels.length,l=Bn(e.color,i-1),u=Bn(e.lineWidth,i-1);if((o||s)&&l&&u){if(r.save(),r.strokeStyle=l,r.lineWidth=u,r.setLineDash&&(r.setLineDash(e.borderDash||[]),r.lineDashOffset=e.borderDashOffset||0),r.beginPath(),o)r.arc(t.xCenter,t.yCenter,n,0,2*Math.PI);else{a=t.getPointPosition(0,n),r.moveTo(a.x,a.y);for(var d=1;d=0;t--)e=i.getDistanceFromCenterForValue(r.ticks.reverse?i.min:i.max),n=i.getPointPosition(t,e),a.beginPath(),a.moveTo(i.xCenter,i.yCenter),a.lineTo(n.x,n.y),a.stroke();a.restore()}},_drawLabels:function(){var t=this,e=t.ctx,n=t.options.ticks;if(n.display){var i,a,r=t.getIndexAngle(0),o=V.options._parseFont(n),s=Nn(n.fontColor,z.global.defaultFontColor);e.save(),e.font=o.string,e.translate(t.xCenter,t.yCenter),e.rotate(r),e.textAlign="center",e.textBaseline="middle",V.each(t.ticks,(function(r,l){(0!==l||n.reverse)&&(i=t.getDistanceFromCenterForValue(t.ticksAsNumbers[l]),n.showLabelBackdrop&&(a=e.measureText(r).width,e.fillStyle=n.backdropColor,e.fillRect(-a/2-n.backdropPaddingX,-i-o.size/2-n.backdropPaddingY,a+2*n.backdropPaddingX,o.size+2*n.backdropPaddingY)),e.fillStyle=s,e.fillText(r,0,-i))})),e.restore()}},_drawTitle:V.noop}),Xn=Wn;Gn._defaults=Xn;var Kn=V._deprecated,Zn=V.options.resolve,$n=V.valueOrDefault,Jn=Number.MIN_SAFE_INTEGER||-9007199254740991,Qn=Number.MAX_SAFE_INTEGER||9007199254740991,ti={millisecond:{common:!0,size:1,steps:1e3},second:{common:!0,size:1e3,steps:60},minute:{common:!0,size:6e4,steps:60},hour:{common:!0,size:36e5,steps:24},day:{common:!0,size:864e5,steps:30},week:{common:!1,size:6048e5,steps:4},month:{common:!0,size:2628e6,steps:12},quarter:{common:!1,size:7884e6,steps:4},year:{common:!0,size:3154e7}},ei=Object.keys(ti);function ni(t,e){return t-e}function ii(t){return V.valueOrDefault(t.time.min,t.ticks.min)}function ai(t){return V.valueOrDefault(t.time.max,t.ticks.max)}function ri(t,e,n,i){var a=function(t,e,n){for(var i,a,r,o=0,s=t.length-1;o>=0&&o<=s;){if(a=t[(i=o+s>>1)-1]||null,r=t[i],!a)return{lo:null,hi:r};if(r[e]n))return{lo:a,hi:r};s=i-1}}return{lo:r,hi:null}}(t,e,n),r=a.lo?a.hi?a.lo:t[t.length-2]:t[0],o=a.lo?a.hi?a.hi:t[t.length-1]:t[1],s=o[e]-r[e],l=s?(n-r[e])/s:0,u=(o[i]-r[i])*l;return r[i]+u}function oi(t,e){var n=t._adapter,i=t.options.time,a=i.parser,r=a||i.format,o=e;return"function"==typeof a&&(o=a(o)),V.isFinite(o)||(o="string"==typeof r?n.parse(o,r):n.parse(o)),null!==o?+o:(a||"function"!=typeof r||(o=r(e),V.isFinite(o)||(o=n.parse(o))),o)}function si(t,e){if(V.isNullOrUndef(e))return null;var n=t.options.time,i=oi(t,t.getRightValue(e));return null===i?i:(n.round&&(i=+t._adapter.startOf(i,n.round)),i)}function li(t,e,n,i){var a,r,o,s=ei.length;for(a=ei.indexOf(t);a=0&&(e[r].major=!0);return e}(t,r,o,n):r}var di=xn.extend({initialize:function(){this.mergeTicksOptions(),xn.prototype.initialize.call(this)},update:function(){var t=this,e=t.options,n=e.time||(e.time={}),i=t._adapter=new an._date(e.adapters.date);return Kn("time scale",n.format,"time.format","time.parser"),Kn("time scale",n.min,"time.min","ticks.min"),Kn("time scale",n.max,"time.max","ticks.max"),V.mergeIf(n.displayFormats,i.formats()),xn.prototype.update.apply(t,arguments)},getRightValue:function(t){return t&&void 0!==t.t&&(t=t.t),xn.prototype.getRightValue.call(this,t)},determineDataLimits:function(){var t,e,n,i,a,r,o,s=this,l=s.chart,u=s._adapter,d=s.options,h=d.time.unit||"day",c=Qn,f=Jn,g=[],p=[],m=[],v=s._getLabels();for(t=0,n=v.length;t1?function(t){var e,n,i,a={},r=[];for(e=0,n=t.length;e1e5*u)throw e+" and "+n+" are too far apart with stepSize of "+u+" "+l;for(a=h;a