diff --git a/.circleci/config.yml b/.circleci/config.yml
index ca2b7b2d2..4725eb32a 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -41,10 +41,10 @@ jobs:
- vendor
- run: cp .env.testing .env
+ - run: php artisan config:cache
- run: php artisan route:clear
- run: php artisan storage:link
- run: php artisan key:generate
- - run: php artisan config:clear
# run tests with phpunit or codecept
- run: ./vendor/bin/phpunit
diff --git a/.env.testing b/.env.testing
index 94cc0d132..258d8d740 100644
--- a/.env.testing
+++ b/.env.testing
@@ -65,3 +65,5 @@ CS_UNLISTED_DOMAINS='example.org,example.net,example.com'
## Optional
#HORIZON_DARKMODE=false # Horizon theme darkmode
#HORIZON_EMBED=false # Single Docker Container mode
+
+ENABLE_CONFIG_CACHE=false
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 845194256..49d6c00a4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,8 +1,107 @@
# Release Notes
-## [Unreleased](https://github.com/pixelfed/pixelfed/compare/v0.11.6...dev)
+## [Unreleased](https://github.com/pixelfed/pixelfed/compare/v0.11.8...dev)
+
+### Added
+- Import from Instagram ([#4466](https://github.com/pixelfed/pixelfed/pull/4466)) ([cf3078c5](https://github.com/pixelfed/pixelfed/commit/cf3078c5))
+
+### Updates
+- Update Notifications.vue component, fix filtering logic to prevent endless spinner ([3df9b53f](https://github.com/pixelfed/pixelfed/commit/3df9b53f))
+- Update Direct Messages, fix api endpoint ([fe8728c0](https://github.com/pixelfed/pixelfed/commit/fe8728c0))
+- Update nginx config ([fbdc6358](https://github.com/pixelfed/pixelfed/commit/fbdc6358))
+- Update api routes, add DeprecatedEndpoint middleware. For more info, visit [pixelfed.org/kb/10404](https://pixelfed.org/kb/10404) ([a8453e77](https://github.com/pixelfed/pixelfed/commit/a8453e77))
+- Update admin dashboard, improve users section ([36b6bf48](https://github.com/pixelfed/pixelfed/commit/36b6bf48))
+- Update AdminApiController, add instance stats endpoint ([89c3710d](https://github.com/pixelfed/pixelfed/commit/89c3710d))
+- Update config, re-add `PF_MAX_USERS` .env variable to limit max users to 1000 by default ([a6d10f03](https://github.com/pixelfed/pixelfed/commit/a6d10f03))
+- Update AdminApiController, fix stats ([5c5541fc](https://github.com/pixelfed/pixelfed/commit/5c5541fc))
+- Update AdminApiController, include more data for getUser method ([4f850e54](https://github.com/pixelfed/pixelfed/commit/4f850e54))
+- Update AdminApiController, improve admin moderation tools ([763ce19a](https://github.com/pixelfed/pixelfed/commit/763ce19a))
+- Update ActivityPubFetchService, fix authorized_fetch compatibility. Closes #1850, #2713, #2935 ([63a7879c](https://github.com/pixelfed/pixelfed/commit/63a7879c))
+- Update IG Import commands, fix stalled import queue ([b18f3fba](https://github.com/pixelfed/pixelfed/commit/b18f3fba))
+- Update TransformImports command, improve handling of imported posts that already exist or are from deleted accounts ([892907d5](https://github.com/pixelfed/pixelfed/commit/892907d5))
+- Update console kernel, add import upload gc ([afe6948d](https://github.com/pixelfed/pixelfed/commit/afe6948d))
+- Update ImportService, filter deleted posts from getImportedPosts endpoint ([10dd348c](https://github.com/pixelfed/pixelfed/commit/10dd348c))
+- Update FixStatusCount, improve command and support remote count resync ([04f4f8ba](https://github.com/pixelfed/pixelfed/commit/04f4f8ba))
+- Update StatusRemoteUpdatePipeline, fix missing mime and size attributes that cause empty media previews on our mobile app ([ea54413e](https://github.com/pixelfed/pixelfed/commit/ea54413e))
+- Update ComposeModal.vue, fix scroll issue and dont hide scrollbar ([2d959fb3](https://github.com/pixelfed/pixelfed/commit/2d959fb3))
+- Update AccountImport, add select first 100 posts button ([625a76a5](https://github.com/pixelfed/pixelfed/commit/625a76a5))
+- Update ApiV1Controller, add include_reblogs attribute to home timeline ([37fd0342](https://github.com/pixelfed/pixelfed/commit/37fd0342))
- ([](https://github.com/pixelfed/pixelfed/commit/))
+## [v0.11.8 (2023-05-29)](https://github.com/pixelfed/pixelfed/compare/v0.11.7...v0.11.8)
+
+### API Changes
+- Added `following_since` attribute to `/api/v1/accounts/relationships` endpoint when `_pe=1` (pixelfed entity) parameter is present ([992d910b](https://github.com/pixelfed/pixelfed/commit/992d910b))
+- Added `/api/v1.1/accounts/app/settings` endpoint and UserAppSettings model to store app specific settings ([a2305d5f](https://github.com/pixelfed/pixelfed/commit/a2305d5f))
+
+### Added
+- Post edits ([#4416](https://github.com/pixelfed/pixelfed/pull/4416)) ([98cf8f3](https://github.com/pixelfed/pixelfed/commit/98cf8f3))
+
+### Updates
+- Update StatusService, fix bug in getFull method ([4d8b4dcf](https://github.com/pixelfed/pixelfed/commit/4d8b4dcf))
+- Update Config, bump version for post edit support without having to clear cache ([c0190d84](https://github.com/pixelfed/pixelfed/commit/c0190d84))
+- Update EditHistoryModal, fix caption rendering ([0f803446](https://github.com/pixelfed/pixelfed/commit/0f803446))
+- Update StatusRemoteUpdatePipeline, fix typo ([109d0419](https://github.com/pixelfed/pixelfed/commit/109d0419))
+- Update StatusActivityPubDeliver, fix delivery addressing ([1f2183ee](https://github.com/pixelfed/pixelfed/commit/1f2183ee))
+- Update UpdateStatusService, fix formatting issue. Fixes #4423 ([4479055e](https://github.com/pixelfed/pixelfed/commit/4479055e))
+- Update nginx config ([ee3b6e09](https://github.com/pixelfed/pixelfed/commit/ee3b6e09))
+- Update Status model, increase max mentions, hashtags and links ([1430f532](https://github.com/pixelfed/pixelfed/commit/1430f532))
+
+## [v0.11.7 (2023-05-24)](https://github.com/pixelfed/pixelfed/compare/v0.11.6...v0.11.7)
+
+### API Changes
+- Added [/api/v1/followed_tags](https://docs.joinmastodon.org/methods/followed_tags/) api endpoint ([175a8486](https://github.com/pixelfed/pixelfed/commit/175a8486))
+- Added [/api/v1/tags/:id/follow](https://docs.joinmastodon.org/methods/tags/#follow) and [/api/v1/tags/:id/unfollow](https://docs.joinmastodon.org/methods/tags/#unfollow) api endpoints ([4d997bb9](https://github.com/pixelfed/pixelfed/commit/4d997bb9))
+- Added [/api/v1/tags/:id](https://docs.joinmastodon.org/methods/tags/) api endpoint ([521b3b4c](https://github.com/pixelfed/pixelfed/commit/521b3b4c))
+- Added `only_media` support to /api/v1/timelines/tag/:id api endpoint ([b5fe956a](https://github.com/pixelfed/pixelfed/commit/b5fe956a))
+- Added /api/v2/instance api endpoint ([167dbcdd](https://github.com/pixelfed/pixelfed/commit/167dbcdd))
+- Removed api endpoint cloud ip block logic ([6a2daf1f](https://github.com/pixelfed/pixelfed/commit/6a2daf1f))
+- Added idempotency-key support to /api/v1/statuses endpoint ([c54cdd3e](https://github.com/pixelfed/pixelfed/commit/c54cdd3e))
+
+### Added
+- Added store remote media on S3 config setting, disabled by default ([51768083](https://github.com/pixelfed/pixelfed/commit/51768083))
+- Added Autospam Advanced Detection ([132a58de](https://github.com/pixelfed/pixelfed/commit/132a58de))
+
+### Updates
+- Update admin dashboard, fix search and dropdown menu ([dac0d083](https://github.com/pixelfed/pixelfed/commit/dac0d083))
+- Update sudo mode view, fix trusted device checkbox ([8ef900bf](https://github.com/pixelfed/pixelfed/commit/8ef900bf))
+- Update SearchApiV2Service, improve postgres support ([666e5732](https://github.com/pixelfed/pixelfed/commit/666e5732))
+- Update StoryController, show active self stories on home timeline ([633351f6](https://github.com/pixelfed/pixelfed/commit/633351f6))
+- Update ApiV1Controller, fix trending accounts format. Closes #4356 ([37bd2ee5](https://github.com/pixelfed/pixelfed/commit/37bd2ee5))
+- Update instance config, enable config cache by default ([970f77b0](https://github.com/pixelfed/pixelfed/commit/970f77b0))
+- Update Admin Dashboard, allow admins to designate an admin account for the landing page and instance api endpoint ([6ea2bdc7](https://github.com/pixelfed/pixelfed/commit/6ea2bdc7))
+- Update config, enable oauth by default ([6a2e9e8f](https://github.com/pixelfed/pixelfed/commit/6a2e9e8f))
+- Update StatusService, fix missing account condition ([f48daab3](https://github.com/pixelfed/pixelfed/commit/f48daab3))
+- Update ProfileService, add softFail param ([6bc20a37](https://github.com/pixelfed/pixelfed/commit/6bc20a37))
+- Update MediaTagService, fix ProfileService to soft fail on missing or deleted accounts ([df444851](https://github.com/pixelfed/pixelfed/commit/df444851))
+- Update LikeService, improve likedBy logic to soft fail on missing or deleted accounts ([91ba1398](https://github.com/pixelfed/pixelfed/commit/91ba1398))
+- Update StatusTransformers, fix ProfileService to soft fail on missing or deleted accounts ([43d3aa2b](https://github.com/pixelfed/pixelfed/commit/43d3aa2b))
+- Update ApiV1Controller, fix hashtag timeline ([fc1a385c](https://github.com/pixelfed/pixelfed/commit/fc1a385c))
+- Update settings view, add fallback avatar ([1a83c585](https://github.com/pixelfed/pixelfed/commit/1a83c585))
+- Update HashtagFollow model, add MAX_LIMIT of 250 tags per account ([ed352141](https://github.com/pixelfed/pixelfed/commit/ed352141))
+- Update Notification logic, remove message and rendered fields ([6cdb5bc6](https://github.com/pixelfed/pixelfed/commit/6cdb5bc6))
+- Update InstanceService, fix banner blurhash memory bug ([3aad75ab](https://github.com/pixelfed/pixelfed/commit/3aad75ab))
+- Update models, remove deprecated toText and toHtml method ([ea943333](https://github.com/pixelfed/pixelfed/commit/ea943333))
+- Update Notification components, add autospam notification support ([0d3b4bc2](https://github.com/pixelfed/pixelfed/commit/0d3b4bc2))
+- Update AutoSpam Bouncer, generate notification on positive detections ([d5f63f8a](https://github.com/pixelfed/pixelfed/commit/d5f63f8a))
+- Update admin autospam apis, remove autospam warning notifications when appropriate ([588ca653](https://github.com/pixelfed/pixelfed/commit/588ca653))
+- Update StatusEntityLexer, stop saving entities ([a91a5e48](https://github.com/pixelfed/pixelfed/commit/a91a5e48))
+- Update UserCreate command, fix is_admin flag ([ad25ed67](https://github.com/pixelfed/pixelfed/commit/ad25ed67))
+- Update Bouncer, adjust advanced Autospam logic ([18cddd43](https://github.com/pixelfed/pixelfed/commit/18cddd43))
+- Update atom view, fix atom feed bug ([63b72c42](https://github.com/pixelfed/pixelfed/commit/63b72c42))
+- Update StatusController, disable post embeds from spam accounts ([c167af43](https://github.com/pixelfed/pixelfed/commit/c167af43))
+- Update ProfileController, require login to view spam accounts, and disable profile embeds and atom feeds for spam accounts ([dd2f5bb9](https://github.com/pixelfed/pixelfed/commit/dd2f5bb9))
+- Update Settings, allow users to disable atom feeds ([3662d3de](https://github.com/pixelfed/pixelfed/commit/3662d3de))
+- Update ApiV1Controller, filter muted/blocked accounts from tag timeline ([f42c1140](https://github.com/pixelfed/pixelfed/commit/f42c1140))
+- Update admin moderation logic, only re-add top level posts ([c6ffda96](https://github.com/pixelfed/pixelfed/commit/c6ffda96))
+- Update admin dashboard, add mass account deletes ([b8426cce](https://github.com/pixelfed/pixelfed/commit/b8426cce))
+- Update scheduler, fix S3 media garbage collection not being executed when cloud storage is enabled via dashboard without .env/config being enabled ([adb070f1](https://github.com/pixelfed/pixelfed/commit/adb070f1))
+- Update MediaController, add fallback for local files that are later stored on S3 but still are referenced in cached objects remotely ([4973cb46](https://github.com/pixelfed/pixelfed/commit/4973cb46))
+- Update PublicTimelineService, improve warmCache query ([9f901d65](https://github.com/pixelfed/pixelfed/commit/9f901d65))
+- Update AP Inbox, fix delete handling ([2800c888](https://github.com/pixelfed/pixelfed/commit/2800c888))
+- Update login/register views and captcha config, enable login or register captchas or both ([c071c719](https://github.com/pixelfed/pixelfed/commit/c071c719))
+- Update login form, allow admins to enable captcha after X failed attempts. Admins can set the number of attempts before captcha is shown, default is 2 attempts before captcha is required ([221ddce0](https://github.com/pixelfed/pixelfed/commit/221ddce0))
+
## [v0.11.6 (2023-05-03)](https://github.com/pixelfed/pixelfed/compare/v0.11.5...v0.11.6)
### Added
@@ -1031,7 +1130,7 @@
- Added post embeds ([1fecf717](https://github.com/pixelfed/pixelfed/commit/1fecf717))
- Added profile embeds ([fb7a3cf0](https://github.com/pixelfed/pixelfed/commit/fb7a3cf0))
- Added Force MetroUI labs experiment ([#1889](https://github.com/pixelfed/pixelfed/pull/1889))
-- Added Stories, to enable add ```STORIES_ENABLED=true``` to ```.env``` and run ```php artisan config:cache && php artisan cache:clear```. If opcache is enabled you may need to reload the web server.
+- Added Stories, to enable add ```STORIES_ENABLED=true``` to ```.env``` and run ```php artisan config:cache && php artisan cache:clear```. If opcache is enabled you may need to reload the web server.
### Fixed
- Fixed like and share/reblog count on profiles ([86cb7d09](https://github.com/pixelfed/pixelfed/commit/86cb7d09))
diff --git a/app/Console/Commands/FetchMissingMediaMimeType.php b/app/Console/Commands/FetchMissingMediaMimeType.php
new file mode 100644
index 000000000..16aeb5f59
--- /dev/null
+++ b/app/Console/Commands/FetchMissingMediaMimeType.php
@@ -0,0 +1,56 @@
+whereNull('mime')->lazyByIdDesc(50, 'id') as $media) {
+ $res = Http::retry(2, 100, throw: false)->head($media->remote_url);
+
+ if(!$res->successful()) {
+ continue;
+ }
+
+ if(!in_array($res->header('content-type'), explode(',',config('pixelfed.media_types')))) {
+ continue;
+ }
+
+ $media->mime = $res->header('content-type');
+
+ if($res->hasHeader('content-length')) {
+ $media->size = $res->header('content-length');
+ }
+
+ $media->save();
+
+ MediaService::del($media->status_id);
+ StatusService::del($media->status_id);
+ $this->info('mid:'.$media->id . ' (' . $res->header('content-type') . ':' . $res->header('content-length') . ' bytes)');
+ }
+ }
+}
diff --git a/app/Console/Commands/FixStatusCount.php b/app/Console/Commands/FixStatusCount.php
index 218526b1d..aa9786ef4 100644
--- a/app/Console/Commands/FixStatusCount.php
+++ b/app/Console/Commands/FixStatusCount.php
@@ -4,6 +4,7 @@ namespace App\Console\Commands;
use Illuminate\Console\Command;
use App\Profile;
+use App\Services\AccountService;
class FixStatusCount extends Command
{
@@ -12,7 +13,7 @@ class FixStatusCount extends Command
*
* @var string
*/
- protected $signature = 'fix:statuscount';
+ protected $signature = 'fix:statuscount {--remote} {--resync} {--remote-only} {--dlog}';
/**
* The console command description.
@@ -38,18 +39,100 @@ class FixStatusCount extends Command
*/
public function handle()
{
- Profile::whereNull('domain')
- ->chunk(50, function($profiles) {
- foreach($profiles as $profile) {
- $profile->status_count = $profile->statuses()
- ->getQuery()
- ->whereIn('type', ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
- ->whereNull('in_reply_to_id')
- ->whereNull('reblog_of_id')
- ->count();
- $profile->save();
+ if(!$this->confirm('Are you sure you want to run the fix status command?')) {
+ return;
+ }
+ $this->line(' ');
+ $this->info('Running fix status command...');
+ $now = now();
+
+ $nulls = ['domain', 'status', 'last_fetched_at'];
+
+ $resync = $this->option('resync');
+ $resync24hours = false;
+
+ if($resync) {
+ $resyncChoices = ['Only resync accounts that havent been synced in 24 hours', 'Resync all accounts'];
+ $rsc = $this->choice(
+ 'Do you want to resync all accounts, or just accounts that havent been resynced for 24 hours?',
+ $resyncChoices,
+ 0
+ );
+ $rsci = array_search($rsc, $resyncChoices);
+ if($rsci === 0) {
+ $resync24hours = true;
+ $nulls = ['status', 'domain', 'last_fetched_at'];
+ } else {
+ $resync24hours = false;
+ $nulls = ['status', 'domain'];
}
- });
+ }
+
+ $remote = $this->option('remote');
+
+ if($remote) {
+ $ni = array_search('domain', $nulls);
+ unset($nulls[$ni]);
+ $ni = array_search('last_fetched_at', $nulls);
+ unset($nulls[$ni]);
+ }
+
+ $remoteOnly = $this->option('remote-only');
+
+ if($remoteOnly) {
+ $ni = array_search('domain', $nulls);
+ unset($nulls[$ni]);
+ $ni = array_search('last_fetched_at', $nulls);
+ unset($nulls[$ni]);
+ $nulls[] = 'user_id';
+ }
+
+ $dlog = $this->option('dlog');
+
+ $nulls = array_values($nulls);
+
+ foreach(
+ Profile::when($resync24hours, function($query, $resync24hours) use($nulls) {
+ if(in_array('domain', $nulls)) {
+ return $query->whereNull('domain')
+ ->whereNull('last_fetched_at')
+ ->orWhere('last_fetched_at', '<', now()->subHours(24));
+ } else {
+ return $query->whereNull('last_fetched_at')
+ ->orWhere('last_fetched_at', '<', now()->subHours(24));
+ }
+ })
+ ->when($remoteOnly, function($query, $remoteOnly) {
+ return $query->whereNull('last_fetched_at')
+ ->orWhere('last_fetched_at', '<', now()->subHours(24));
+ })
+ ->whereNull($nulls)
+ ->lazyById(50, 'id') as $profile
+ ) {
+ $ogc = $profile->status_count;
+ $upc = $profile->statuses()
+ ->getQuery()
+ ->whereIn('scope', ['public', 'private', 'unlisted'])
+ ->count();
+ if($ogc != $upc) {
+ $profile->status_count = $upc;
+ $profile->last_fetched_at = $now;
+ $profile->save();
+ AccountService::del($profile->id);
+ if($dlog) {
+ $this->info($profile->id . ':' . $profile->username . ' : ' . $upc);
+ }
+ } else {
+ $profile->last_fetched_at = $now;
+ $profile->save();
+ if($dlog) {
+ $this->info($profile->id . ':' . $profile->username . ' : ' . $upc);
+ }
+ }
+ }
+
+ $this->line(' ');
+ $this->info('Finished fix status count command!');
return 0;
}
diff --git a/app/Console/Commands/ImportRemoveDeletedAccounts.php b/app/Console/Commands/ImportRemoveDeletedAccounts.php
new file mode 100644
index 000000000..e1e6acafd
--- /dev/null
+++ b/app/Console/Commands/ImportRemoveDeletedAccounts.php
@@ -0,0 +1,61 @@
+whereNotNull('status')
+ ->whereIn('status', ['deleted', 'delete'])
+ ->where('id', '>', $skipMinId)
+ ->limit(500)
+ ->pluck('id');
+
+ if(!$deletedIds || !$deletedIds->count()) {
+ return;
+ }
+
+ foreach($deletedIds as $did) {
+ if(Storage::exists('imports/' . $did)) {
+ Storage::deleteDirectory('imports/' . $did);
+ }
+
+ ImportPost::where('user_id', $did)->delete();
+ $skipMinId = $did;
+ }
+
+ Cache::put(self::CACHE_KEY, $skipMinId, 864000);
+ }
+}
diff --git a/app/Console/Commands/ImportUploadCleanStorage.php b/app/Console/Commands/ImportUploadCleanStorage.php
new file mode 100644
index 000000000..31b0fac74
--- /dev/null
+++ b/app/Console/Commands/ImportUploadCleanStorage.php
@@ -0,0 +1,42 @@
+find($uid);
+ if(!$skip) {
+ Storage::deleteDirectory($dir);
+ }
+ }
+ }
+}
diff --git a/app/Console/Commands/ImportUploadGarbageCollection.php b/app/Console/Commands/ImportUploadGarbageCollection.php
new file mode 100644
index 000000000..7d1ab24b5
--- /dev/null
+++ b/app/Console/Commands/ImportUploadGarbageCollection.php
@@ -0,0 +1,49 @@
+where('skip_missing_media', true)->take(100)->get();
+
+ if(!$ips->count()) {
+ return;
+ }
+
+ foreach($ips as $ip) {
+ $pid = $ip->profile_id;
+ $ip->delete();
+ ImportService::getPostCount($pid, true);
+ ImportService::clearAttempts($pid);
+ ImportService::getImportedFiles($pid, true);
+ }
+ }
+}
diff --git a/app/Console/Commands/MediaS3GarbageCollector.php b/app/Console/Commands/MediaS3GarbageCollector.php
index 7cbadc5f3..b6cda43c3 100644
--- a/app/Console/Commands/MediaS3GarbageCollector.php
+++ b/app/Console/Commands/MediaS3GarbageCollector.php
@@ -45,7 +45,7 @@ class MediaS3GarbageCollector extends Command
*/
public function handle()
{
- $enabled = config('pixelfed.cloud_storage');
+ $enabled = in_array(config_cache('pixelfed.cloud_storage'), ['1', true, 'true']);
if(!$enabled) {
$this->error('Cloud storage not enabled. Exiting...');
return;
diff --git a/app/Console/Commands/TransformImports.php b/app/Console/Commands/TransformImports.php
new file mode 100644
index 000000000..cd63985ac
--- /dev/null
+++ b/app/Console/Commands/TransformImports.php
@@ -0,0 +1,142 @@
+where('skip_missing_media', '!=', true)->take(200)->get();
+
+ if(!$ips->count()) {
+ return;
+ }
+
+ foreach($ips as $ip) {
+ $id = $ip->user_id;
+ $pid = $ip->profile_id;
+ $profile = Profile::find($pid);
+ if(!$profile) {
+ $ip->skip_missing_media = true;
+ $ip->save();
+ continue;
+ }
+
+ $exists = ImportPost::whereUserId($id)
+ ->whereNotNull('status_id')
+ ->where('filename', $ip->filename)
+ ->where('creation_year', $ip->creation_year)
+ ->where('creation_month', $ip->creation_month)
+ ->where('creation_day', $ip->creation_day)
+ ->exists();
+
+ if($exists == true) {
+ $ip->skip_missing_media = true;
+ $ip->save();
+ continue;
+ }
+
+ $idk = ImportService::getId($ip->user_id, $ip->creation_year, $ip->creation_month, $ip->creation_day);
+
+ if(Storage::exists('imports/' . $id . '/' . $ip->filename) === false) {
+ ImportService::clearAttempts($profile->id);
+ ImportService::getPostCount($profile->id, true);
+ $ip->skip_missing_media = true;
+ $ip->save();
+ continue;
+ }
+
+ $missingMedia = false;
+ foreach($ip->media as $ipm) {
+ $fileName = last(explode('/', $ipm['uri']));
+ $og = 'imports/' . $id . '/' . $fileName;
+ if(!Storage::exists($og)) {
+ $missingMedia = true;
+ }
+ }
+
+ if($missingMedia === true) {
+ $ip->skip_missing_media = true;
+ $ip->save();
+ continue;
+ }
+
+ $caption = $ip->caption;
+ $status = new Status;
+ $status->profile_id = $pid;
+ $status->caption = $caption;
+ $status->rendered = strlen(trim($caption)) ? Autolink::create()->autolink($ip->caption) : null;
+ $status->type = $ip->post_type;
+
+ $status->scope = 'unlisted';
+ $status->visibility = 'unlisted';
+ $status->id = $idk['id'];
+ $status->created_at = now()->parse($ip->creation_date);
+ $status->save();
+
+ foreach($ip->media as $ipm) {
+ $fileName = last(explode('/', $ipm['uri']));
+ $ext = last(explode('.', $fileName));
+ $basePath = MediaPathService::get($profile);
+ $og = 'imports/' . $id . '/' . $fileName;
+ if(!Storage::exists($og)) {
+ $ip->skip_missing_media = true;
+ $ip->save();
+ continue;
+ }
+ $size = Storage::size($og);
+ $mime = Storage::mimeType($og);
+ $newFile = Str::random(40) . '.' . $ext;
+ $np = $basePath . '/' . $newFile;
+ Storage::move($og, $np);
+ $media = new Media;
+ $media->profile_id = $pid;
+ $media->user_id = $id;
+ $media->status_id = $status->id;
+ $media->media_path = $np;
+ $media->mime = $mime;
+ $media->size = $size;
+ $media->save();
+ }
+
+ $ip->status_id = $status->id;
+ $ip->creation_id = $idk['incr'];
+ $ip->save();
+
+ ImportService::clearAttempts($profile->id);
+ ImportService::getPostCount($profile->id, true);
+ }
+ }
+}
diff --git a/app/Console/Commands/UserCreate.php b/app/Console/Commands/UserCreate.php
index 00616af65..37a509461 100644
--- a/app/Console/Commands/UserCreate.php
+++ b/app/Console/Commands/UserCreate.php
@@ -52,7 +52,7 @@ class UserCreate extends Command
$user->name = $o['name'];
$user->email = $o['email'];
$user->password = bcrypt($o['password']);
- $user->is_admin = (bool) $o['is_admin'];
+ $user->is_admin = $o['is_admin'] == 'true';
$user->email_verified_at = $o['confirm_email'] ? now() : null;
$user->save();
diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php
index f0a955f8d..046924eb6 100644
--- a/app/Console/Kernel.php
+++ b/app/Console/Kernel.php
@@ -33,9 +33,16 @@ class Kernel extends ConsoleKernel
$schedule->command('gc:passwordreset')->dailyAt('09:41');
$schedule->command('gc:sessions')->twiceDaily(13, 23);
- if(config('pixelfed.cloud_storage') && config('media.delete_local_after_cloud')) {
+ if(in_array(config_cache('pixelfed.cloud_storage'), ['1', true, 'true']) && config('media.delete_local_after_cloud')) {
$schedule->command('media:s3gc')->hourlyAt(15);
}
+
+ if(config('import.instagram.enabled')) {
+ $schedule->command('app:transform-imports')->everyFourMinutes();
+ $schedule->command('app:import-upload-garbage-collection')->hourlyAt(51);
+ $schedule->command('app:import-remove-deleted-accounts')->hourlyAt(37);
+ $schedule->command('app:import-upload-clean-storage')->twiceDailyAt(1, 13, 32);
+ }
}
/**
diff --git a/app/DirectMessage.php b/app/DirectMessage.php
index 2f4ea7872..ee109aee2 100644
--- a/app/DirectMessage.php
+++ b/app/DirectMessage.php
@@ -31,20 +31,4 @@ class DirectMessage extends Model
{
return Auth::user()->profile->id === $this->from_id;
}
-
- public function toText()
- {
- $actorName = $this->author->username;
-
- return "{$actorName} sent a direct message.";
- }
-
- public function toHtml()
- {
- $actorName = $this->author->username;
- $actorUrl = $this->author->url();
- $url = $this->url();
-
- return "{$actorName} sent a direct message.";
- }
}
diff --git a/app/Follower.php b/app/Follower.php
index 9ec6d9f65..7415a7fe8 100644
--- a/app/Follower.php
+++ b/app/Follower.php
@@ -32,20 +32,4 @@ class Follower extends Model
$path = $this->actor->permalink("#accepts/follows/{$this->id}{$append}");
return url($path);
}
-
- public function toText()
- {
- $actorName = $this->actor->username;
-
- return "{$actorName} ".__('notification.startedFollowingYou');
- }
-
- public function toHtml()
- {
- $actorName = $this->actor->username;
- $actorUrl = $this->actor->url();
-
- return "{$actorName} ".
- __('notification.startedFollowingYou');
- }
}
diff --git a/app/HashtagFollow.php b/app/HashtagFollow.php
index 0503330b0..126701fe1 100644
--- a/app/HashtagFollow.php
+++ b/app/HashtagFollow.php
@@ -12,6 +12,8 @@ class HashtagFollow extends Model
'hashtag_id'
];
+ const MAX_LIMIT = 250;
+
public function hashtag()
{
return $this->belongsTo(Hashtag::class);
diff --git a/app/Http/Controllers/Admin/AdminAutospamController.php b/app/Http/Controllers/Admin/AdminAutospamController.php
new file mode 100644
index 000000000..8adc45312
--- /dev/null
+++ b/app/Http/Controllers/Admin/AdminAutospamController.php
@@ -0,0 +1,255 @@
+whereNull('appeal_handled_at')->count();
+ });
+
+ $closed = Cache::remember('admin-dash:reports:spam-count-closed', 3600, function() {
+ return AccountInterstitial::whereType('post.autospam')->whereNotNull('appeal_handled_at')->count();
+ });
+
+ $thisWeek = Cache::remember('admin-dash:reports:spam-count-stats-this-week ', 86400, function() {
+ $sr = config('database.default') == 'pgsql' ? "to_char(created_at, 'MM-YYYY')" : "DATE_FORMAT(created_at, '%m-%Y')";
+ $gb = config('database.default') == 'pgsql' ? [DB::raw($sr)] : DB::raw($sr);
+ $s = AccountInterstitial::select(
+ DB::raw('count(id) as count'),
+ DB::raw($sr . " as month_year")
+ )
+ ->where('created_at', '>=', now()->subWeeks(52))
+ ->groupBy($gb)
+ ->get()
+ ->map(function($s) {
+ $dt = now()->parse('01-' . $s->month_year);
+ return [
+ 'id' => $dt->format('Ym'),
+ 'x' => $dt->format('M Y'),
+ 'y' => $s->count
+ ];
+ })
+ ->sortBy('id')
+ ->values()
+ ->toArray();
+ return $s;
+ });
+
+ $files = [
+ 'spam' => [
+ 'exists' => Storage::exists(AutospamService::MODEL_SPAM_PATH),
+ 'size' => 0
+ ],
+ 'ham' => [
+ 'exists' => Storage::exists(AutospamService::MODEL_HAM_PATH),
+ 'size' => 0
+ ],
+ 'combined' => [
+ 'exists' => Storage::exists(AutospamService::MODEL_FILE_PATH),
+ 'size' => 0
+ ]
+ ];
+
+ if($files['spam']['exists']) {
+ $files['spam']['size'] = Storage::size(AutospamService::MODEL_SPAM_PATH);
+ }
+
+ if($files['ham']['exists']) {
+ $files['ham']['size'] = Storage::size(AutospamService::MODEL_HAM_PATH);
+ }
+
+ if($files['combined']['exists']) {
+ $files['combined']['size'] = Storage::size(AutospamService::MODEL_FILE_PATH);
+ }
+
+ return [
+ 'autospam_enabled' => (bool) config_cache('pixelfed.bouncer.enabled') ?? false,
+ 'nlp_enabled' => (bool) AutospamService::active(),
+ 'files' => $files,
+ 'open' => $open,
+ 'closed' => $closed,
+ 'graph' => collect($thisWeek)->map(fn($s) => $s['y'])->values(),
+ 'graphLabels' => collect($thisWeek)->map(fn($s) => $s['x'])->values()
+ ];
+ }
+
+ public function getAutospamReportsClosedApi(Request $request)
+ {
+ $appeals = AdminSpamReport::collection(
+ AccountInterstitial::orderBy('id', 'desc')
+ ->whereType('post.autospam')
+ ->whereIsSpam(true)
+ ->whereNotNull('appeal_handled_at')
+ ->cursorPaginate(6)
+ ->withQueryString()
+ );
+
+ return $appeals;
+ }
+
+ public function postAutospamTrainSpamApi(Request $request)
+ {
+ $aiCount = AccountInterstitial::whereItemType('App\Status')
+ ->whereIsSpam(true)
+ ->count();
+ abort_if($aiCount < 100, 422, 'You don\'t have enough data to pre-train against.');
+
+ $existing = Cache::get('pf:admin:autospam:pretrain:recent');
+ abort_if($existing, 422, 'You\'ve already run this recently, please wait 30 minutes before pre-training again');
+ AutospamPretrainPipeline::dispatch();
+ Cache::put('pf:admin:autospam:pretrain:recent', 1, 1440);
+
+ return [
+ 'msg' => 'Success!'
+ ];
+ }
+
+ public function postAutospamTrainNonSpamSearchApi(Request $request)
+ {
+ $this->validate($request, [
+ 'q' => 'required|string|min:1'
+ ]);
+
+ $q = $request->input('q');
+
+ $res = Profile::whereNull(['status', 'domain'])
+ ->where('username', 'like', '%' . $q . '%')
+ ->orderByDesc('followers_count')
+ ->take(10)
+ ->get()
+ ->map(function($p) {
+ $acct = AccountService::get($p->id, true);
+ return [
+ 'id' => (string) $p->id,
+ 'avatar' => $acct['avatar'],
+ 'username' => $p->username
+ ];
+ })
+ ->values();
+ return $res;
+ }
+
+ public function postAutospamTrainNonSpamSubmitApi(Request $request)
+ {
+ $this->validate($request, [
+ 'accounts' => 'required|array|min:1|max:10'
+ ]);
+
+ $accts = $request->input('accounts');
+
+ $accounts = Profile::whereNull(['domain', 'status'])->find(collect($accts)->map(function($a) { return $a['id'];}));
+
+ abort_if(!$accounts || !$accounts->count(), 422, 'One or more of the selected accounts are not valid');
+
+ AutospamPretrainNonSpamPipeline::dispatch($accounts);
+ return $accounts;
+ }
+
+ public function getAutospamCustomTokensApi(Request $request)
+ {
+ return AutospamCustomTokens::latest()->cursorPaginate(6);
+ }
+
+ public function saveNewAutospamCustomTokensApi(Request $request)
+ {
+ $this->validate($request, [
+ 'token' => 'required|unique:autospam_custom_tokens,token',
+ ]);
+
+ $ct = new AutospamCustomTokens;
+ $ct->token = $request->input('token');
+ $ct->weight = $request->input('weight');
+ $ct->category = $request->input('category') === 'spam' ? 'spam' : 'ham';
+ $ct->note = $request->input('note');
+ $ct->active = $request->input('active');
+ $ct->save();
+
+ AutospamUpdateCachedDataPipeline::dispatch();
+ return $ct;
+ }
+
+ public function updateAutospamCustomTokensApi(Request $request)
+ {
+ $this->validate($request, [
+ 'id' => 'required',
+ 'token' => 'required',
+ 'category' => 'required|in:spam,ham',
+ 'active' => 'required|boolean'
+ ]);
+
+ $ct = AutospamCustomTokens::findOrFail($request->input('id'));
+ $ct->weight = $request->input('weight');
+ $ct->category = $request->input('category');
+ $ct->note = $request->input('note');
+ $ct->active = $request->input('active');
+ $ct->save();
+
+ AutospamUpdateCachedDataPipeline::dispatch();
+
+ return $ct;
+ }
+
+ public function exportAutospamCustomTokensApi(Request $request)
+ {
+ abort_if(!Storage::exists(AutospamService::MODEL_SPAM_PATH), 422, 'Autospam Dataset does not exist, please train spam before attempting to export');
+ return Storage::download(AutospamService::MODEL_SPAM_PATH);
+ }
+
+ public function enableAutospamApi(Request $request)
+ {
+ ConfigCacheService::put('autospam.nlp.enabled', true);
+ Cache::forget(AutospamService::CHCKD_CACHE_KEY);
+ return ['msg' => 'Success'];
+ }
+
+ public function disableAutospamApi(Request $request)
+ {
+ ConfigCacheService::put('autospam.nlp.enabled', false);
+ Cache::forget(AutospamService::CHCKD_CACHE_KEY);
+ return ['msg' => 'Success'];
+ }
+}
diff --git a/app/Http/Controllers/Admin/AdminReportController.php b/app/Http/Controllers/Admin/AdminReportController.php
index 2ee8e02c5..d045edd55 100644
--- a/app/Http/Controllers/Admin/AdminReportController.php
+++ b/app/Http/Controllers/Admin/AdminReportController.php
@@ -14,6 +14,7 @@ use App\{
Contact,
Hashtag,
Newsroom,
+ Notification,
OauthClient,
Profile,
Report,
@@ -30,6 +31,7 @@ use App\Jobs\DeletePipeline\DeleteRemoteStatusPipeline;
use App\Jobs\StatusPipeline\StatusDelete;
use App\Http\Resources\AdminReport;
use App\Http\Resources\AdminSpamReport;
+use App\Services\NotificationService;
use App\Services\PublicTimelineService;
use App\Services\NetworkTimelineService;
@@ -1101,7 +1103,6 @@ trait AdminReportController
Cache::forget('admin-dash:reports:spam-count');
Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $report->user->profile_id);
Cache::forget('pf:bouncer_v0:recent_by_pid:' . $report->user->profile_id);
- PublicTimelineService::warmCache(true, 400);
return [$action, $report];
}
@@ -1113,6 +1114,7 @@ trait AdminReportController
$appeal->is_spam = true;
$appeal->appeal_handled_at = now();
$appeal->save();
+ PublicTimelineService::del($appeal->item_id);
}
if($action == 'mark-not-spam') {
@@ -1126,7 +1128,19 @@ trait AdminReportController
$appeal->appeal_handled_at = now();
$appeal->save();
+ Notification::whereAction('autospam.warning')
+ ->whereProfileId($appeal->user->profile_id)
+ ->get()
+ ->each(function($n) use($appeal) {
+ NotificationService::del($appeal->user->profile_id, $n->id);
+ $n->forceDelete();
+ });
+
StatusService::del($status->id);
+ StatusService::get($status->id);
+ if($status->in_reply_to_id == null && $status->reblog_of_id == null) {
+ PublicTimelineService::add($status->id);
+ }
}
if($action == 'mark-all-read') {
@@ -1157,6 +1171,13 @@ trait AdminReportController
$status->save();
StatusService::del($status->id);
}
+ Notification::whereAction('autospam.warning')
+ ->whereProfileId($report->user->profile_id)
+ ->get()
+ ->each(function($n) use($report) {
+ NotificationService::del($report->user->profile_id, $n->id);
+ $n->forceDelete();
+ });
});
}
diff --git a/app/Http/Controllers/Admin/AdminSettingsController.php b/app/Http/Controllers/Admin/AdminSettingsController.php
index d51870822..9d9c3dfb6 100644
--- a/app/Http/Controllers/Admin/AdminSettingsController.php
+++ b/app/Http/Controllers/Admin/AdminSettingsController.php
@@ -10,8 +10,10 @@ use App\Models\InstanceActor;
use App\Http\Controllers\Controller;
use App\Util\Lexer\PrettyNumber;
use App\Models\ConfigCache;
+use App\Services\AccountService;
use App\Services\ConfigCacheService;
use App\Util\Site\Config;
+use Illuminate\Support\Str;
trait AdminSettingsController
{
@@ -28,6 +30,9 @@ trait AdminSettingsController
$mp4 = in_array('video/mp4', $types);
$webp = in_array('image/webp', $types);
+ $availableAdmins = User::whereIsAdmin(true)->get();
+ $currentAdmin = config_cache('instance.admin.pid') ? AccountService::get(config_cache('instance.admin.pid'), true) : null;
+
// $system = [
// 'permissions' => is_writable(base_path('storage')) && is_writable(base_path('bootstrap')),
// 'max_upload_size' => ini_get('post_max_size'),
@@ -45,6 +50,8 @@ trait AdminSettingsController
'cloud_storage',
'cloud_disk',
'cloud_ready',
+ 'availableAdmins',
+ 'currentAdmin'
// 'system'
));
}
@@ -63,8 +70,14 @@ trait AdminSettingsController
'type_gif' => 'nullable',
'type_mp4' => 'nullable',
'type_webp' => 'nullable',
+ 'admin_account_id' => 'nullable',
]);
+ if($request->filled('admin_account_id')) {
+ ConfigCacheService::put('instance.admin.pid', $request->admin_account_id);
+ Cache::forget('api:v1:instance-data:contact');
+ Cache::forget('api:v1:instance-data-response-v1');
+ }
if($request->filled('rule_delete')) {
$index = (int) $request->input('rule_delete');
$rules = ConfigCacheService::get('app.rules');
@@ -75,8 +88,8 @@ trait AdminSettingsController
unset($json[$index]);
$json = json_encode(array_values($json));
ConfigCacheService::put('app.rules', $json);
- Cache::forget('api:v1:instance-data:rules');
- Cache::forget('api:v1:instance-data-response-v1');
+ Cache::forget('api:v1:instance-data:rules');
+ Cache::forget('api:v1:instance-data-response-v1');
return 200;
}
@@ -124,8 +137,8 @@ trait AdminSettingsController
if($cc && $cc->v != $val) {
ConfigCacheService::put($value, $val);
} else if(!empty($val)) {
- ConfigCacheService::put($value, $val);
- }
+ ConfigCacheService::put($value, $val);
+ }
}
$bools = [
@@ -141,8 +154,8 @@ trait AdminSettingsController
'show_custom_js' => 'uikit.show_custom.js',
'cloud_storage' => 'pixelfed.cloud_storage',
'account_autofollow' => 'account.autofollow',
- 'show_directory' => 'landing.show_directory',
- 'show_explore_feed' => 'landing.show_explore_feed',
+ 'show_directory' => 'instance.landing.show_directory',
+ 'show_explore_feed' => 'instance.landing.show_explore',
];
foreach ($bools as $key => $value) {
diff --git a/app/Http/Controllers/Admin/AdminUserController.php b/app/Http/Controllers/Admin/AdminUserController.php
index 766299097..441f5b305 100644
--- a/app/Http/Controllers/Admin/AdminUserController.php
+++ b/app/Http/Controllers/Admin/AdminUserController.php
@@ -11,6 +11,7 @@ use App\Mail\AdminMessage;
use Illuminate\Support\Facades\Mail;
use App\Services\ModLogService;
use App\Jobs\DeletePipeline\DeleteAccountPipeline;
+use App\Services\AccountService;
trait AdminUserController
{
@@ -25,7 +26,7 @@ trait AdminUserController
'next' => $offset + 1,
'query' => $search ? '&a=search&q=' . $search : null
];
- $users = User::select('id', 'username', 'status', 'profile_id')
+ $users = User::select('id', 'username', 'status', 'profile_id', 'is_admin')
->orderBy($col, $dir)
->when($search, function($q, $search) {
return $q->where('username', 'like', "%{$search}%");
@@ -34,7 +35,11 @@ trait AdminUserController
return $q->offset(($offset * 10));
})
->limit(10)
- ->get();
+ ->get()
+ ->map(function($u) {
+ $u['account'] = AccountService::get($u->profile_id, true);
+ return $u;
+ });
return view('admin.users.home', compact('users', 'pagination'));
}
diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php
index caa9c19fc..e54908a41 100644
--- a/app/Http/Controllers/AdminController.php
+++ b/app/Http/Controllers/AdminController.php
@@ -21,6 +21,7 @@ use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Redis;
use App\Http\Controllers\Admin\{
+ AdminAutospamController,
AdminDirectoryController,
AdminDiscoverController,
AdminHashtagsController,
@@ -43,6 +44,7 @@ use App\Models\CustomEmoji;
class AdminController extends Controller
{
use AdminReportController,
+ AdminAutospamController,
AdminDirectoryController,
AdminDiscoverController,
AdminHashtagsController,
diff --git a/app/Http/Controllers/Api/AdminApiController.php b/app/Http/Controllers/Api/AdminApiController.php
index 52ab197ca..76f73e720 100644
--- a/app/Http/Controllers/Api/AdminApiController.php
+++ b/app/Http/Controllers/Api/AdminApiController.php
@@ -11,22 +11,30 @@ use App\{
AccountInterstitial,
Instance,
Like,
+ Notification,
Media,
Profile,
Report,
Status,
User
};
+use App\Models\Conversation;
+use App\Models\RemoteReport;
use App\Services\AccountService;
use App\Services\AdminStatsService;
use App\Services\ConfigCacheService;
use App\Services\InstanceService;
use App\Services\ModLogService;
+use App\Services\SnowflakeService;
use App\Services\StatusService;
+use App\Services\PublicTimelineService;
use App\Services\NetworkTimelineService;
use App\Services\NotificationService;
use App\Http\Resources\AdminInstance;
use App\Http\Resources\AdminUser;
+use App\Jobs\DeletePipeline\DeleteAccountPipeline;
+use App\Jobs\DeletePipeline\DeleteRemoteProfilePipeline;
+use App\Jobs\DeletePipeline\DeleteRemoteStatusPipeline;
class AdminApiController extends Controller
{
@@ -91,7 +99,7 @@ class AdminApiController extends Controller
abort_unless($request->user()->is_admin == 1, 404);
$this->validate($request, [
- 'action' => 'required|in:dismiss,approve,dismiss-all,approve-all',
+ 'action' => 'required|in:dismiss,approve,dismiss-all,approve-all,delete-post,delete-account',
'id' => 'required'
]);
@@ -103,14 +111,53 @@ class AdminApiController extends Controller
$now = now();
$res = ['status' => 'success'];
$meta = json_decode($appeal->meta);
+ $user = $appeal->user;
+ $profile = $user->profile;
if($action == 'dismiss') {
$appeal->is_spam = true;
$appeal->appeal_handled_at = $now;
$appeal->save();
- Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $appeal->user->profile_id);
- Cache::forget('pf:bouncer_v0:recent_by_pid:' . $appeal->user->profile_id);
+ Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $profile->id);
+ Cache::forget('pf:bouncer_v0:recent_by_pid:' . $profile->id);
+ Cache::forget('admin-dash:reports:spam-count');
+ return $res;
+ }
+
+ if($action == 'delete-post') {
+ $appeal->appeal_handled_at = now();
+ $appeal->is_spam = true;
+ $appeal->save();
+ ModLogService::boot()
+ ->objectUid($profile->id)
+ ->objectId($appeal->status->id)
+ ->objectType('App\Status::class')
+ ->user($request->user())
+ ->action('admin.status.delete')
+ ->accessLevel('admin')
+ ->save();
+ PublicTimelineService::deleteByProfileId($profile->id);
+ StatusDelete::dispatch($appeal->status)->onQueue('high');
+ Cache::forget('admin-dash:reports:spam-count');
+ return $res;
+ }
+
+ if($action == 'delete-account') {
+ abort_if($user->is_admin, 400, 'Cannot delete an admin account.');
+ $appeal->appeal_handled_at = now();
+ $appeal->is_spam = true;
+ $appeal->save();
+ ModLogService::boot()
+ ->objectUid($profile->id)
+ ->objectId($profile->id)
+ ->objectType('App\User::class')
+ ->user($request->user())
+ ->action('admin.user.delete')
+ ->accessLevel('admin')
+ ->save();
+ PublicTimelineService::deleteByProfileId($profile->id);
+ DeleteAccountPipeline::dispatch($appeal->user)->onQueue('high');
Cache::forget('admin-dash:reports:spam-count');
return $res;
}
@@ -140,6 +187,14 @@ class AdminApiController extends Controller
StatusService::del($status->id);
+ Notification::whereAction('autospam.warning')
+ ->whereProfileId($appeal->user->profile_id)
+ ->get()
+ ->each(function($n) use($appeal) {
+ NotificationService::del($appeal->user->profile_id, $n->id);
+ $n->forceDelete();
+ });
+
Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $appeal->user->profile_id);
Cache::forget('pf:bouncer_v0:recent_by_pid:' . $appeal->user->profile_id);
Cache::forget('admin-dash:reports:spam-count');
@@ -164,6 +219,14 @@ class AdminApiController extends Controller
$status->save();
StatusService::del($status->id, true);
}
+
+ Notification::whereAction('autospam.warning')
+ ->whereProfileId($report->user->profile_id)
+ ->get()
+ ->each(function($n) use($report) {
+ NotificationService::del($report->user->profile_id, $n->id);
+ $n->forceDelete();
+ });
});
Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $appeal->user->profile_id);
Cache::forget('pf:bouncer_v0:recent_by_pid:' . $appeal->user->profile_id);
@@ -387,6 +450,9 @@ class AdminApiController extends Controller
{
abort_if(!$request->user(), 404);
abort_unless($request->user()->is_admin == 1, 404);
+ $this->validate($request, [
+ 'sort' => 'sometimes|in:asc,desc',
+ ]);
$q = $request->input('q');
$sort = $request->input('sort', 'desc') === 'asc' ? 'asc' : 'desc';
$res = User::whereNull('status')
@@ -404,17 +470,29 @@ class AdminApiController extends Controller
abort_unless($request->user()->is_admin == 1, 404);
$id = $request->input('user_id');
- $user = User::findOrFail($id);
- $profile = $user->profile;
- $account = AccountService::get($user->profile_id, true);
- return (new AdminUser($user))->additional(['meta' => [
- 'account' => $account,
- 'moderation' => [
- 'unlisted' => (bool) $profile->unlisted,
- 'cw' => (bool) $profile->cw,
- 'no_autolink' => (bool) $profile->no_autolink
- ]
- ]]);
+ $key = 'pf-admin-api:getUser:byId:' . $id;
+ if($request->has('refresh')) {
+ Cache::forget($key);
+ }
+ return Cache::remember($key, 86400, function() use($id) {
+ $user = User::findOrFail($id);
+ $profile = $user->profile;
+ $account = AccountService::get($user->profile_id, true);
+ $res = (new AdminUser($user))->additional(['meta' => [
+ 'cached_at' => str_replace('+00:00', 'Z', now()->format(DATE_RFC3339_EXTENDED)),
+ 'account' => $account,
+ 'dms_sent' => Conversation::whereFromId($profile->id)->count(),
+ 'report_count' => Report::where('object_id', $profile->id)->orWhere('reported_profile_id', $profile->id)->count(),
+ 'remote_report_count' => RemoteReport::whereAccountId($profile->id)->count(),
+ 'moderation' => [
+ 'unlisted' => (bool) $profile->unlisted,
+ 'cw' => (bool) $profile->cw,
+ 'no_autolink' => (bool) $profile->no_autolink
+ ]
+ ]]);
+
+ return $res;
+ });
}
public function userAdminAction(Request $request)
@@ -424,7 +502,7 @@ class AdminApiController extends Controller
$this->validate($request, [
'id' => 'required',
- 'action' => 'required|in:unlisted,cw,no_autolink,refresh_stats,verify_email',
+ 'action' => 'required|in:unlisted,cw,no_autolink,refresh_stats,verify_email,delete',
'value' => 'sometimes'
]);
@@ -435,7 +513,59 @@ class AdminApiController extends Controller
abort_if($user->is_admin == true && $action !== 'refresh_stats', 400, 'Cannot moderate admin accounts');
- if($action === 'refresh_stats') {
+ if($action === 'delete') {
+ if(config('pixelfed.account_deletion') == false) {
+ abort(404);
+ }
+
+ abort_if($user->is_admin, 400, 'Cannot delete an admin account.');
+
+ $ts = now()->addMonth();
+
+ $user->status = 'delete';
+ $user->delete_after = $ts;
+ $user->save();
+
+ $profile->status = 'delete';
+ $profile->delete_after = $ts;
+ $profile->save();
+
+ ModLogService::boot()
+ ->objectUid($profile->id)
+ ->objectId($profile->id)
+ ->objectType('App\Profile::class')
+ ->user($request->user())
+ ->action('admin.user.delete')
+ ->accessLevel('admin')
+ ->save();
+
+ PublicTimelineService::deleteByProfileId($profile->id);
+ NetworkTimelineService::deleteByProfileId($profile->id);
+
+ if($profile->user_id) {
+ DB::table('oauth_access_tokens')->whereUserId($user->id)->delete();
+ DB::table('oauth_auth_codes')->whereUserId($user->id)->delete();
+ $user->email = $user->id;
+ $user->password = '';
+ $user->status = 'delete';
+ $user->save();
+ $profile->status = 'delete';
+ $profile->delete_after = now()->addMonth();
+ $profile->save();
+ AccountService::del($profile->id);
+ DeleteAccountPipeline::dispatch($user)->onQueue('high');
+ } else {
+ $profile->status = 'delete';
+ $profile->delete_after = now()->addMonth();
+ $profile->save();
+ AccountService::del($profile->id);
+ DeleteRemoteProfilePipeline::dispatch($profile)->onQueue('high');
+ }
+ return [
+ 'status' => 200,
+ 'msg' => 'deleted',
+ ];
+ } else if($action === 'refresh_stats') {
$profile->following_count = DB::table('followers')->whereProfileId($user->profile_id)->count();
$profile->followers_count = DB::table('followers')->whereFollowingId($user->profile_id)->count();
$statusCount = Status::whereProfileId($user->profile_id)
@@ -461,6 +591,51 @@ class AdminApiController extends Controller
])
->accessLevel('admin')
->save();
+ } else if($action === 'unlisted') {
+ ModLogService::boot()
+ ->objectUid($profile->id)
+ ->objectId($profile->id)
+ ->objectType('App\Profile::class')
+ ->user($request->user())
+ ->action('admin.user.moderate')
+ ->metadata([
+ 'action' => $action,
+ 'message' => 'Success!'
+ ])
+ ->accessLevel('admin')
+ ->save();
+ $profile->unlisted = !$profile->unlisted;
+ $profile->save();
+ } else if($action === 'cw') {
+ ModLogService::boot()
+ ->objectUid($profile->id)
+ ->objectId($profile->id)
+ ->objectType('App\Profile::class')
+ ->user($request->user())
+ ->action('admin.user.moderate')
+ ->metadata([
+ 'action' => $action,
+ 'message' => 'Success!'
+ ])
+ ->accessLevel('admin')
+ ->save();
+ $profile->cw = !$profile->cw;
+ $profile->save();
+ } else if($action === 'no_autolink') {
+ ModLogService::boot()
+ ->objectUid($profile->id)
+ ->objectId($profile->id)
+ ->objectType('App\Profile::class')
+ ->user($request->user())
+ ->action('admin.user.moderate')
+ ->metadata([
+ 'action' => $action,
+ 'message' => 'Success!'
+ ])
+ ->accessLevel('admin')
+ ->save();
+ $profile->no_autolink = !$profile->no_autolink;
+ $profile->save();
} else {
$profile->{$action} = filter_var($request->input('value'), FILTER_VALIDATE_BOOLEAN);
$profile->save();
@@ -582,4 +757,62 @@ class AdminApiController extends Controller
return new AdminInstance($instance);
}
+
+ public function getAllStats(Request $request)
+ {
+ abort_if(!$request->user(), 404);
+ abort_unless($request->user()->is_admin === 1, 404);
+
+ if($request->has('refresh')) {
+ Cache::forget('admin-api:instance-all-stats-v1');
+ }
+
+ return Cache::remember('admin-api:instance-all-stats-v1', 1209600, function() {
+ $days = range(1, 7);
+ $res = [
+ 'cached_at' => now()->format('c'),
+ ];
+ $minStatusId = SnowflakeService::byDate(now()->subDays(7));
+
+ foreach($days as $day) {
+ $label = now()->subDays($day)->format('D');
+ $labelShort = substr($label, 0, 1);
+ $res['users']['days'][] = [
+ 'date' => now()->subDays($day)->format('M j Y'),
+ 'label_full' => $label,
+ 'label' => $labelShort,
+ 'count' => User::whereDate('created_at', now()->subDays($day))->count()
+ ];
+
+ $res['posts']['days'][] = [
+ 'date' => now()->subDays($day)->format('M j Y'),
+ 'label_full' => $label,
+ 'label' => $labelShort,
+ 'count' => Status::whereNull('uri')->where('id', '>', $minStatusId)->whereDate('created_at', now()->subDays($day))->count()
+ ];
+
+ $res['instances']['days'][] = [
+ 'date' => now()->subDays($day)->format('M j Y'),
+ 'label_full' => $label,
+ 'label' => $labelShort,
+ 'count' => Instance::whereDate('created_at', now()->subDays($day))->count()
+ ];
+ }
+
+ $res['users']['total'] = DB::table('users')->count();
+ $res['users']['min'] = collect($res['users']['days'])->min('count');
+ $res['users']['max'] = collect($res['users']['days'])->max('count');
+ $res['users']['change'] = collect($res['users']['days'])->sum('count');;
+ $res['posts']['total'] = DB::table('statuses')->whereNull('uri')->count();
+ $res['posts']['min'] = collect($res['posts']['days'])->min('count');
+ $res['posts']['max'] = collect($res['posts']['days'])->max('count');
+ $res['posts']['change'] = collect($res['posts']['days'])->sum('count');
+ $res['instances']['total'] = DB::table('instances')->count();
+ $res['instances']['min'] = collect($res['instances']['days'])->min('count');
+ $res['instances']['max'] = collect($res['instances']['days'])->max('count');
+ $res['instances']['change'] = collect($res['instances']['days'])->sum('count');
+
+ return $res;
+ });
+ }
}
diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php
index 37412c489..3e67632a7 100644
--- a/app/Http/Controllers/Api/ApiV1Controller.php
+++ b/app/Http/Controllers/Api/ApiV1Controller.php
@@ -19,6 +19,7 @@ use App\{
Follower,
FollowRequest,
Hashtag,
+ HashtagFollow,
Instance,
Like,
Media,
@@ -69,6 +70,7 @@ use App\Services\{
BouncerService,
CollectionService,
FollowerService,
+ HashtagService,
InstanceService,
LikeService,
NetworkTimelineService,
@@ -99,6 +101,7 @@ use App\Jobs\FollowPipeline\FollowRejectPipeline;
use Illuminate\Support\Facades\RateLimiter;
use Purify;
use Carbon\Carbon;
+use App\Http\Resources\MastoApi\FollowedTagResource;
class ApiV1Controller extends Controller
{
@@ -116,26 +119,12 @@ class ApiV1Controller extends Controller
return response()->json($res, $code, $headers, JSON_UNESCAPED_SLASHES);
}
- public function getWebsocketConfig()
- {
- return config('broadcasting.default') === 'pusher' ? [
- 'host' => config('broadcasting.connections.pusher.options.host'),
- 'port' => config('broadcasting.connections.pusher.options.port'),
- 'key' => config('broadcasting.connections.pusher.key'),
- 'cluster' => config('broadcasting.connections.pusher.options.cluster')
- ] : [];
- }
-
public function getApp(Request $request)
{
if(!$request->user()) {
return response('', 403);
}
- if(config('pixelfed.bouncer.cloud_ips.ban_signups')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$client = $request->user()->token()->client;
$res = [
'name' => $client->name,
@@ -155,10 +144,6 @@ class ApiV1Controller extends Controller
'redirect_uris' => 'required'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_signups')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$uris = implode(',', explode('\n', $request->redirect_uris));
$client = Passport::client()->forceFill([
@@ -201,10 +186,6 @@ class ApiV1Controller extends Controller
abort_if(!$user, 403);
abort_if($user->status != null, 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_signups')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$res = $request->has(self::PF_API_ENTITY_KEY) ? AccountService::get($user->profile_id) : AccountService::getMastodon($user->profile_id);
$res['source'] = [
@@ -227,10 +208,6 @@ class ApiV1Controller extends Controller
*/
public function accountById(Request $request, $id)
{
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$res = $request->has(self::PF_API_ENTITY_KEY) ? AccountService::get($id, true) : AccountService::getMastodon($id, true);
if(!$res) {
return response()->json(['error' => 'Record not found'], 404);
@@ -489,10 +466,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$account = AccountService::get($id);
abort_if(!$account, 404);
$pid = $request->user()->profile_id;
@@ -585,10 +558,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$account = AccountService::get($id);
abort_if(!$account, 404);
$pid = $request->user()->profile_id;
@@ -679,10 +648,6 @@ class ApiV1Controller extends Controller
*/
public function accountStatusesById(Request $request, $id)
{
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$this->validate($request, [
@@ -784,10 +749,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$target = Profile::where('id', '!=', $user->profile_id)
@@ -872,10 +833,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$target = Profile::where('id', '!=', $user->profile_id)
@@ -944,21 +901,20 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request, [
'id' => 'required|array|min:1|max:20',
'id.*' => 'required|integer|min:1|max:' . PHP_INT_MAX
]);
+ $napi = $request->has(self::PF_API_ENTITY_KEY);
$pid = $request->user()->profile_id ?? $request->user()->profile->id;
$res = collect($request->input('id'))
->filter(function($id) use($pid) {
return intval($id) !== intval($pid);
})
- ->map(function($id) use($pid) {
- return RelationshipService::get($pid, $id);
+ ->map(function($id) use($pid, $napi) {
+ return $napi ?
+ RelationshipService::getWithDate($pid, $id) :
+ RelationshipService::get($pid, $id);
});
return $this->json($res);
}
@@ -980,10 +936,6 @@ class ApiV1Controller extends Controller
'resolve' => 'nullable'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$query = $request->input('q');
$limit = $request->input('limit') ?? 20;
@@ -1023,10 +975,6 @@ class ApiV1Controller extends Controller
'page' => 'nullable|integer|min:1|max:10'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$limit = $request->input('limit') ?? 40;
@@ -1059,10 +1007,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$pid = $user->profile_id ?? $user->profile->id;
@@ -1155,10 +1099,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$pid = $user->profile_id ?? $user->profile->id;
@@ -1238,10 +1178,6 @@ class ApiV1Controller extends Controller
'limit' => 'sometimes|integer|min:1|max:20'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$maxId = $request->input('max_id');
$minId = $request->input('min_id');
@@ -1295,10 +1231,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$status = StatusService::getMastodon($id, false);
@@ -1358,10 +1290,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$status = Status::findOrFail($id);
@@ -1419,10 +1347,6 @@ class ApiV1Controller extends Controller
'limit' => 'sometimes|integer|min:1|max:100'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$res = FollowRequest::whereFollowingId($user->profile->id)
@@ -1554,6 +1478,9 @@ class ApiV1Controller extends Controller
{
$res = Cache::remember('api:v1:instance-data-response-v1', 1800, function () {
$contact = Cache::remember('api:v1:instance-data:contact', 604800, function () {
+ if(config_cache('instance.admin.pid')) {
+ return AccountService::getMastodon(config_cache('instance.admin.pid'), true);
+ }
$admin = User::whereIsAdmin(true)->first();
return $admin && isset($admin->profile_id) ?
AccountService::getMastodon($admin->profile_id, true) :
@@ -1663,10 +1590,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request, [
'file.*' => [
'required_without:file',
@@ -1800,10 +1723,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request, [
'description' => 'nullable|string|max:' . config_cache('pixelfed.max_altext_length')
]);
@@ -1854,10 +1773,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$media = Media::whereUserId($user->id)
@@ -1879,10 +1794,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request, [
'file.*' => [
'required_without:file',
@@ -2056,10 +1967,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$pid = $user->profile_id;
@@ -2113,10 +2020,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$pid = $user->profile_id;
@@ -2153,10 +2056,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api_strict_mode')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request, [
'limit' => 'nullable|integer|min:1|max:100',
'min_id' => 'nullable|integer|min:1|max:'.PHP_INT_MAX,
@@ -2233,19 +2132,23 @@ class ApiV1Controller extends Controller
'page' => 'sometimes|integer|max:40',
'min_id' => 'sometimes|integer|min:0|max:' . PHP_INT_MAX,
'max_id' => 'sometimes|integer|min:0|max:' . PHP_INT_MAX,
- 'limit' => 'sometimes|integer|min:1|max:100'
+ 'limit' => 'sometimes|integer|min:1|max:100',
+ 'include_reblogs' => 'sometimes',
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api_strict_mode')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$napi = $request->has(self::PF_API_ENTITY_KEY);
$page = $request->input('page');
$min = $request->input('min_id');
$max = $request->input('max_id');
$limit = $request->input('limit') ?? 20;
$pid = $request->user()->profile_id;
+ $includeReblogs = $request->filled('include_reblogs');
+ $nullFields = $includeReblogs ?
+ ['in_reply_to_id'] :
+ ['in_reply_to_id', 'reblog_of_id'];
+ $inTypes = $includeReblogs ?
+ ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album', 'share'] :
+ ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'];
$following = Cache::remember('profile:following:'.$pid, 1209600, function() use($pid) {
$following = Follower::whereProfileId($pid)->pluck('following_id');
@@ -2264,9 +2167,9 @@ class ApiV1Controller extends Controller
'reblog_of_id'
)
->where('id', $dir, $id)
- ->whereNull(['in_reply_to_id', 'reblog_of_id'])
+ ->whereNull($nullFields)
->whereIntegerInRaw('profile_id', $following)
- ->whereIn('type', ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
+ ->whereIn('type', $inTypes)
->whereIn('visibility',['public', 'unlisted', 'private'])
->orderByDesc('id')
->take(($limit * 2))
@@ -2307,9 +2210,9 @@ class ApiV1Controller extends Controller
'in_reply_to_id',
'reblog_of_id',
)
- ->whereNull(['in_reply_to_id', 'reblog_of_id'])
+ ->whereNull($nullFields)
->whereIntegerInRaw('profile_id', $following)
- ->whereIn('type', ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
+ ->whereIn('type', $inTypes)
->whereIn('visibility',['public', 'unlisted', 'private'])
->orderByDesc('id')
->take(($limit * 2))
@@ -2387,10 +2290,6 @@ class ApiV1Controller extends Controller
'local' => 'sometimes'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api_strict_mode')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$napi = $request->has(self::PF_API_ENTITY_KEY);
$min = $request->input('min_id');
$max = $request->input('max_id');
@@ -2518,10 +2417,6 @@ class ApiV1Controller extends Controller
'scope' => 'nullable|in:inbox,sent,requests'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api_strict_mode')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$limit = $request->input('limit', 20);
$scope = $request->input('scope', 'inbox');
$pid = $request->user()->profile_id;
@@ -2560,14 +2455,17 @@ class ApiV1Controller extends Controller
'id' => $dm->id,
'unread' => false,
'accounts' => [
- AccountService::getMastodon($from)
+ AccountService::getMastodon($from, true)
],
'last_status' => StatusService::getDirectMessage($dm->status_id)
];
return $res;
})
->filter(function($dm) {
- return isset($dm['accounts']) && count($dm['accounts']) && !empty($dm['last_status']);
+ if(!$dm || empty($dm['last_status']) || !isset($dm['accounts']) || !count($dm['accounts']) || !isset($dm['accounts'][0]) || !isset($dm['accounts'][0]['id'])) {
+ return false;
+ }
+ return true;
})
->unique(function($item, $key) {
return $item['accounts'][0]['id'];
@@ -2588,10 +2486,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api_strict_mode')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$res = $request->has(self::PF_API_ENTITY_KEY) ? StatusService::get($id, false) : StatusService::getMastodon($id, false);
@@ -2628,10 +2522,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api_strict_mode')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$pid = $user->profile_id;
$status = StatusService::getMastodon($id, false);
@@ -2717,10 +2607,6 @@ class ApiV1Controller extends Controller
'limit' => 'sometimes|integer|min:1|max:80'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$limit = $request->input('limit', 10);
$user = $request->user();
$pid = $user->profile_id;
@@ -2813,10 +2699,6 @@ class ApiV1Controller extends Controller
'limit' => 'nullable|integer|min:1|max:80'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$limit = $request->input('limit', 10);
$user = $request->user();
$pid = $user->profile_id;
@@ -2906,10 +2788,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request, [
'status' => 'nullable|string',
'in_reply_to_id' => 'nullable',
@@ -2922,6 +2800,13 @@ class ApiV1Controller extends Controller
'comments_disabled' => 'sometimes|boolean',
]);
+ if($request->hasHeader('idempotency-key')) {
+ $key = 'pf:api:v1:status:idempotency-key:' . $request->user()->id . ':' . hash('sha1', $request->header('idempotency-key'));
+ $exists = Cache::has($key);
+ abort_if($exists, 400, 'Duplicate idempotency key.');
+ Cache::put($key, 1, 3600);
+ }
+
if(config('costar.enabled') == true) {
$blockedKeywords = config('costar.keyword.block');
if($blockedKeywords !== null && $request->status) {
@@ -3109,10 +2994,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$status = Status::whereProfileId($request->user()->profile->id)
->findOrFail($id);
@@ -3139,10 +3020,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$status = Status::whereScope('public')->findOrFail($id);
@@ -3189,10 +3066,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$user = $request->user();
$status = Status::whereScope('public')->findOrFail($id);
@@ -3234,15 +3107,13 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request,[
'page' => 'nullable|integer|max:40',
'min_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX,
'max_id' => 'nullable|integer|min:0|max:' . PHP_INT_MAX,
- 'limit' => 'nullable|integer|max:100'
+ 'limit' => 'nullable|integer|max:100',
+ 'only_media' => 'sometimes|boolean',
+ '_pe' => 'sometimes'
]);
if(config('database.default') === 'pgsql') {
@@ -3266,6 +3137,20 @@ class ApiV1Controller extends Controller
$min = $request->input('min_id');
$max = $request->input('max_id');
$limit = $request->input('limit', 20);
+ $onlyMedia = $request->input('only_media', true);
+ $pe = $request->has(self::PF_API_ENTITY_KEY);
+
+ if($min || $max) {
+ $minMax = SnowflakeService::byDate(now()->subMonths(6));
+ if($min && intval($min) < $minMax) {
+ return [];
+ }
+ if($max && intval($max) < $minMax) {
+ return [];
+ }
+ }
+
+ $filters = UserFilterService::filters($request->user()->profile_id);
if(!$min && !$max) {
$id = 1;
@@ -3278,17 +3163,24 @@ class ApiV1Controller extends Controller
$res = StatusHashtag::whereHashtagId($tag->id)
->whereStatusVisibility('public')
->where('status_id', $dir, $id)
- ->latest()
+ ->orderBy('status_id', 'desc')
->limit($limit)
->pluck('status_id')
- ->map(function ($i) {
- if($i) {
- return StatusService::getMastodon($i);
- }
+ ->map(function ($i) use($pe) {
+ return $pe ? StatusService::get($i) : StatusService::getMastodon($i);
})
- ->filter(function($i) {
+ ->filter(function($i) use($onlyMedia) {
+ if(!$i) {
+ return false;
+ }
+ if($onlyMedia && !isset($i['media_attachments']) || !count($i['media_attachments'])) {
+ return false;
+ }
return $i && isset($i['account']);
})
+ ->filter(function($i) use($filters) {
+ return !in_array($i['account']['id'], $filters);
+ })
->values()
->toArray();
@@ -3306,10 +3198,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request, [
'limit' => 'nullable|integer|min:1|max:40',
'max_id' => 'nullable|integer|min:0',
@@ -3377,10 +3265,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$status = Status::findOrFail($id);
$pid = $request->user()->profile_id;
@@ -3420,10 +3304,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$status = Status::findOrFail($id);
$pid = $request->user()->profile_id;
@@ -3445,37 +3325,6 @@ class ApiV1Controller extends Controller
return $this->json($res);
}
- /**
- * GET /api/v2/search
- *
- *
- * @return array
- */
- public function searchV2(Request $request)
- {
- abort_if(!$request->user(), 403);
-
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
- $this->validate($request, [
- 'q' => 'required|string|min:1|max:100',
- 'account_id' => 'nullable|string',
- 'max_id' => 'nullable|string',
- 'min_id' => 'nullable|string',
- 'type' => 'nullable|in:accounts,hashtags,statuses',
- 'exclude_unreviewed' => 'nullable',
- 'resolve' => 'nullable',
- 'limit' => 'nullable|integer|max:40',
- 'offset' => 'nullable|integer',
- 'following' => 'nullable'
- ]);
-
- $mastodonMode = !$request->has('_pe');
- return $this->json(SearchApiV2Service::query($request, $mastodonMode));
- }
-
/**
* GET /api/v1/discover/posts
*
@@ -3486,10 +3335,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$this->validate($request, [
'limit' => 'integer|min:1|max:40'
]);
@@ -3527,10 +3372,6 @@ class ApiV1Controller extends Controller
'sort' => 'in:all,newest,popular'
]);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$limit = $request->input('limit', 3);
$pid = $request->user()->profile_id;
$status = StatusService::getMastodon($id, false);
@@ -3622,10 +3463,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$status = Status::findOrFail($id);
$pid = $request->user()->profile_id;
abort_if(!in_array($status->scope, ['public', 'unlisted', 'private']), 404);
@@ -3633,7 +3470,7 @@ class ApiV1Controller extends Controller
return $this->json(StatusService::getState($status->id, $pid));
}
- /**
+ /**
* GET /api/v1.1/discover/accounts/popular
*
*
@@ -3643,10 +3480,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$pid = $request->user()->profile_id;
$ids = Cache::remember('api:v1.1:discover:accounts:popular', 86400, function() {
@@ -3675,7 +3508,8 @@ class ApiV1Controller extends Controller
->filter(function($post) {
return $post && isset($post['id']);
})
- ->take(3);
+ ->take(3)
+ ->values();
$profile['recent_posts'] = $ids;
return $profile;
})
@@ -3695,10 +3529,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$pid = $request->user()->profile_id;
$account = AccountService::get($pid);
@@ -3747,10 +3577,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$type = $request->input('timeline');
if(is_array($type)) {
$type = $type[0];
@@ -3772,10 +3598,6 @@ class ApiV1Controller extends Controller
{
abort_if(!$request->user(), 403);
- if(config('pixelfed.bouncer.cloud_ips.ban_api')) {
- abort_if(BouncerService::checkIp($request->ip()), 404);
- }
-
$pid = $request->user()->profile_id;
$home = $request->input('home.last_read_id');
$notifications = $request->input('notifications.last_read_id');
@@ -3790,4 +3612,168 @@ class ApiV1Controller extends Controller
return $this->json([]);
}
+
+ /**
+ * GET /api/v1/followed_tags
+ *
+ *
+ * @return array
+ */
+ public function getFollowedTags(Request $request)
+ {
+ abort_if(!$request->user(), 403);
+
+ $account = AccountService::get($request->user()->profile_id);
+
+ $this->validate($request, [
+ 'cursor' => 'sometimes',
+ 'limit' => 'sometimes|integer|min:1|max:200'
+ ]);
+ $limit = $request->input('limit', 100);
+
+ $res = HashtagFollow::whereProfileId($account['id'])
+ ->orderByDesc('id')
+ ->cursorPaginate($limit)->withQueryString();
+
+ $pagination = false;
+ $prevPage = $res->nextPageUrl();
+ $nextPage = $res->previousPageUrl();
+ if($nextPage && $prevPage) {
+ $pagination = '<' . $nextPage . '>; rel="next", <' . $prevPage . '>; rel="prev"';
+ } else if($nextPage && !$prevPage) {
+ $pagination = '<' . $nextPage . '>; rel="next"';
+ } else if(!$nextPage && $prevPage) {
+ $pagination = '<' . $prevPage . '>; rel="prev"';
+ }
+
+ if($pagination) {
+ return response()->json(FollowedTagResource::collection($res)->collection)
+ ->header('Link', $pagination);
+ }
+ return response()->json(FollowedTagResource::collection($res)->collection);
+ }
+
+ /**
+ * POST /api/v1/tags/:id/follow
+ *
+ *
+ * @return object
+ */
+ public function followHashtag(Request $request, $id)
+ {
+ abort_if(!$request->user(), 403);
+
+ $pid = $request->user()->profile_id;
+ $account = AccountService::get($pid);
+
+ $operator = config('database.default') == 'pgsql' ? 'ilike' : 'like';
+ $tag = Hashtag::where('name', $operator, $id)
+ ->orWhere('slug', $operator, $id)
+ ->first();
+
+ abort_if(!$tag, 422, 'Unknown hashtag');
+
+ abort_if(
+ HashtagFollow::whereProfileId($pid)->count() >= HashtagFollow::MAX_LIMIT,
+ 422,
+ 'You cannot follow more than ' . HashtagFollow::MAX_LIMIT . ' hashtags.'
+ );
+
+ $follows = HashtagFollow::updateOrCreate(
+ [
+ 'profile_id' => $account['id'],
+ 'hashtag_id' => $tag->id
+ ],
+ [
+ 'user_id' => $request->user()->id
+ ]
+ );
+
+ HashtagService::follow($pid, $tag->id);
+
+ return response()->json(FollowedTagResource::make($follows)->toArray($request));
+ }
+
+ /**
+ * POST /api/v1/tags/:id/unfollow
+ *
+ *
+ * @return object
+ */
+ public function unfollowHashtag(Request $request, $id)
+ {
+ abort_if(!$request->user(), 403);
+
+ $pid = $request->user()->profile_id;
+ $account = AccountService::get($pid);
+
+ $operator = config('database.default') == 'pgsql' ? 'ilike' : 'like';
+ $tag = Hashtag::where('name', $operator, $id)
+ ->orWhere('slug', $operator, $id)
+ ->first();
+
+ abort_if(!$tag, 422, 'Unknown hashtag');
+
+ $follows = HashtagFollow::whereProfileId($pid)
+ ->whereHashtagId($tag->id)
+ ->first();
+
+ if(!$follows) {
+ return [
+ 'name' => $tag->name,
+ 'url' => config('app.url') . '/i/web/hashtag/' . $tag->slug,
+ 'history' => [],
+ 'following' => false
+ ];
+ }
+
+ if($follows) {
+ HashtagService::unfollow($pid, $tag->id);
+ $follows->delete();
+ }
+
+ $res = FollowedTagResource::make($follows)->toArray($request);
+ $res['following'] = false;
+ return response()->json($res);
+ }
+
+ /**
+ * GET /api/v1/tags/:id
+ *
+ *
+ * @return object
+ */
+ public function getHashtag(Request $request, $id)
+ {
+ abort_if(!$request->user(), 403);
+
+ $pid = $request->user()->profile_id;
+ $account = AccountService::get($pid);
+ $operator = config('database.default') == 'pgsql' ? 'ilike' : 'like';
+ $tag = Hashtag::where('name', $operator, $id)
+ ->orWhere('slug', $operator, $id)
+ ->first();
+
+ if(!$tag) {
+ return [
+ 'name' => $id,
+ 'url' => config('app.url') . '/i/web/hashtag/' . $id,
+ 'history' => [],
+ 'following' => false
+ ];
+ }
+
+ $res = [
+ 'name' => $tag->name,
+ 'url' => config('app.url') . '/i/web/hashtag/' . $tag->slug,
+ 'history' => [],
+ 'following' => HashtagService::isFollowing($pid, $tag->id)
+ ];
+
+ if($request->has(self::PF_API_ENTITY_KEY)) {
+ $res['count'] = HashtagService::count($tag->id);
+ }
+
+ return $this->json($res);
+ }
}
diff --git a/app/Http/Controllers/Api/ApiV1Dot1Controller.php b/app/Http/Controllers/Api/ApiV1Dot1Controller.php
index 16aa3757e..4c41a8a77 100644
--- a/app/Http/Controllers/Api/ApiV1Dot1Controller.php
+++ b/app/Http/Controllers/Api/ApiV1Dot1Controller.php
@@ -800,9 +800,13 @@ class ApiV1Dot1Controller extends Controller
StatusService::del($status->id, true);
if($state !== 'public') {
if($status->uri) {
- NetworkTimelineService::add($status->id);
+ if($status->in_reply_to_id == null && $status->reblog_of_id == null) {
+ NetworkTimelineService::add($status->id);
+ }
} else {
- PublicTimelineService::add($status->id);
+ if($status->in_reply_to_id == null && $status->reblog_of_id == null) {
+ PublicTimelineService::add($status->id);
+ }
}
}
} else if ($action == 'mark-unlisted') {
diff --git a/app/Http/Controllers/Api/ApiV2Controller.php b/app/Http/Controllers/Api/ApiV2Controller.php
new file mode 100644
index 000000000..63c63c56f
--- /dev/null
+++ b/app/Http/Controllers/Api/ApiV2Controller.php
@@ -0,0 +1,324 @@
+json($res, $code, $headers, JSON_UNESCAPED_SLASHES);
+ }
+
+ public function instance(Request $request)
+ {
+ $contact = Cache::remember('api:v1:instance-data:contact', 604800, function () {
+ if(config_cache('instance.admin.pid')) {
+ return AccountService::getMastodon(config_cache('instance.admin.pid'), true);
+ }
+ $admin = User::whereIsAdmin(true)->first();
+ return $admin && isset($admin->profile_id) ?
+ AccountService::getMastodon($admin->profile_id, true) :
+ null;
+ });
+
+ $rules = Cache::remember('api:v1:instance-data:rules', 604800, function () {
+ return config_cache('app.rules') ?
+ collect(json_decode(config_cache('app.rules'), true))
+ ->map(function($rule, $key) {
+ $id = $key + 1;
+ return [
+ 'id' => "{$id}",
+ 'text' => $rule
+ ];
+ })
+ ->toArray() : [];
+ });
+
+ $res = [
+ 'domain' => config('pixelfed.domain.app'),
+ 'title' => config_cache('app.name'),
+ 'version' => config('pixelfed.version'),
+ 'source_url' => 'https://github.com/pixelfed/pixelfed',
+ 'description' => config_cache('app.short_description'),
+ 'usage' => [
+ 'users' => [
+ 'active_month' => (int) Cache::remember('api:nodeinfo:am', 172800, function() {
+ return User::select('last_active_at', 'created_at')
+ ->where('last_active_at', '>', now()->subMonths(1))
+ ->orWhere('created_at', '>', now()->subMonths(1))
+ ->count();
+ })
+ ]
+ ],
+ 'thumbnail' => [
+ 'url' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')),
+ 'blurhash' => InstanceService::headerBlurhash(),
+ 'versions' => [
+ '@1x' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg')),
+ '@2x' => config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg'))
+ ]
+ ],
+ 'languages' => [config('app.locale')],
+ 'configuration' => [
+ 'urls' => [
+ 'streaming' => 'wss://' . config('pixelfed.domain.app'),
+ 'status' => null
+ ],
+ 'accounts' => [
+ 'max_featured_tags' => 0,
+ ],
+ 'statuses' => [
+ 'max_characters' => (int) config('pixelfed.max_caption_length'),
+ 'max_media_attachments' => (int) config_cache('pixelfed.max_album_length'),
+ 'characters_reserved_per_url' => 23
+ ],
+ 'media_attachments' => [
+ 'supported_mime_types' => explode(',', config_cache('pixelfed.media_types')),
+ 'image_size_limit' => config_cache('pixelfed.max_photo_size') * 1024,
+ 'image_matrix_limit' => 3686400,
+ 'video_size_limit' => config_cache('pixelfed.max_photo_size') * 1024,
+ 'video_frame_rate_limit' => 240,
+ 'video_matrix_limit' => 3686400
+ ],
+ 'polls' => [
+ 'max_options' => 4,
+ 'max_characters_per_option' => 50,
+ 'min_expiration' => 300,
+ 'max_expiration' => 2629746,
+ ],
+ 'translation' => [
+ 'enabled' => false,
+ ],
+ ],
+ 'registrations' => [
+ 'enabled' => (bool) config_cache('pixelfed.open_registration'),
+ 'approval_required' => false,
+ 'message' => null
+ ],
+ 'contact' => [
+ 'email' => config('instance.email'),
+ 'account' => $contact
+ ],
+ 'rules' => $rules
+ ];
+
+ return response()->json($res, 200, [], JSON_UNESCAPED_SLASHES);
+ }
+
+ /**
+ * GET /api/v2/search
+ *
+ *
+ * @return array
+ */
+ public function search(Request $request)
+ {
+ abort_if(!$request->user(), 403);
+
+ $this->validate($request, [
+ 'q' => 'required|string|min:1|max:100',
+ 'account_id' => 'nullable|string',
+ 'max_id' => 'nullable|string',
+ 'min_id' => 'nullable|string',
+ 'type' => 'nullable|in:accounts,hashtags,statuses',
+ 'exclude_unreviewed' => 'nullable',
+ 'resolve' => 'nullable',
+ 'limit' => 'nullable|integer|max:40',
+ 'offset' => 'nullable|integer',
+ 'following' => 'nullable'
+ ]);
+
+ $mastodonMode = !$request->has('_pe');
+ return $this->json(SearchApiV2Service::query($request, $mastodonMode));
+ }
+
+ /**
+ * GET /api/v2/streaming/config
+ *
+ *
+ * @return object
+ */
+ public function getWebsocketConfig()
+ {
+ return config('broadcasting.default') === 'pusher' ? [
+ 'host' => config('broadcasting.connections.pusher.options.host'),
+ 'port' => config('broadcasting.connections.pusher.options.port'),
+ 'key' => config('broadcasting.connections.pusher.key'),
+ 'cluster' => config('broadcasting.connections.pusher.options.cluster')
+ ] : [];
+ }
+
+ /**
+ * POST /api/v2/media
+ *
+ *
+ * @return MediaTransformer
+ */
+ public function mediaUploadV2(Request $request)
+ {
+ abort_if(!$request->user(), 403);
+
+ $this->validate($request, [
+ 'file.*' => [
+ 'required_without:file',
+ 'mimetypes:' . config_cache('pixelfed.media_types'),
+ 'max:' . config_cache('pixelfed.max_photo_size'),
+ ],
+ 'file' => [
+ 'required_without:file.*',
+ 'mimetypes:' . config_cache('pixelfed.media_types'),
+ 'max:' . config_cache('pixelfed.max_photo_size'),
+ ],
+ 'filter_name' => 'nullable|string|max:24',
+ 'filter_class' => 'nullable|alpha_dash|max:24',
+ 'description' => 'nullable|string|max:' . config_cache('pixelfed.max_altext_length'),
+ 'replace_id' => 'sometimes'
+ ]);
+
+ $user = $request->user();
+
+ if($user->last_active_at == null) {
+ return [];
+ }
+
+ if(empty($request->file('file'))) {
+ return response('', 422);
+ }
+
+ $limitKey = 'compose:rate-limit:media-upload:' . $user->id;
+ $limitTtl = now()->addMinutes(15);
+ $limitReached = Cache::remember($limitKey, $limitTtl, function() use($user) {
+ $dailyLimit = Media::whereUserId($user->id)->where('created_at', '>', now()->subDays(1))->count();
+
+ return $dailyLimit >= 250;
+ });
+ abort_if($limitReached == true, 429);
+
+ $profile = $user->profile;
+
+ if(config_cache('pixelfed.enforce_account_limit') == true) {
+ $size = Cache::remember($user->storageUsedKey(), now()->addDays(3), function() use($user) {
+ return Media::whereUserId($user->id)->sum('size') / 1000;
+ });
+ $limit = (int) config_cache('pixelfed.max_account_size');
+ if ($size >= $limit) {
+ abort(403, 'Account size limit reached.');
+ }
+ }
+
+ $filterClass = in_array($request->input('filter_class'), Filter::classes()) ? $request->input('filter_class') : null;
+ $filterName = in_array($request->input('filter_name'), Filter::names()) ? $request->input('filter_name') : null;
+
+ $photo = $request->file('file');
+
+ $mimes = explode(',', config_cache('pixelfed.media_types'));
+ if(in_array($photo->getMimeType(), $mimes) == false) {
+ abort(403, 'Invalid or unsupported mime type.');
+ }
+
+ $storagePath = MediaPathService::get($user, 2);
+ $path = $photo->storePublicly($storagePath);
+ $hash = \hash_file('sha256', $photo);
+ $license = null;
+ $mime = $photo->getMimeType();
+
+ $settings = UserSetting::whereUserId($user->id)->first();
+
+ if($settings && !empty($settings->compose_settings)) {
+ $compose = $settings->compose_settings;
+
+ if(isset($compose['default_license']) && $compose['default_license'] != 1) {
+ $license = $compose['default_license'];
+ }
+ }
+
+ abort_if(MediaBlocklistService::exists($hash) == true, 451);
+
+ if($request->has('replace_id')) {
+ $rpid = $request->input('replace_id');
+ $removeMedia = Media::whereNull('status_id')
+ ->whereUserId($user->id)
+ ->whereProfileId($profile->id)
+ ->where('created_at', '>', now()->subHours(2))
+ ->find($rpid);
+ if($removeMedia) {
+ MediaDeletePipeline::dispatch($removeMedia)
+ ->onQueue('mmo')
+ ->delay(now()->addMinutes(15));
+ }
+ }
+
+ $media = new Media();
+ $media->status_id = null;
+ $media->profile_id = $profile->id;
+ $media->user_id = $user->id;
+ $media->media_path = $path;
+ $media->original_sha256 = $hash;
+ $media->size = $photo->getSize();
+ $media->mime = $mime;
+ $media->caption = $request->input('description');
+ $media->filter_class = $filterClass;
+ $media->filter_name = $filterName;
+ if($license) {
+ $media->license = $license;
+ }
+ $media->save();
+
+ switch ($media->mime) {
+ case 'image/jpeg':
+ case 'image/png':
+ ImageOptimize::dispatch($media)->onQueue('mmo');
+ break;
+
+ case 'video/mp4':
+ VideoThumbnail::dispatch($media)->onQueue('mmo');
+ $preview_url = '/storage/no-preview.png';
+ $url = '/storage/no-preview.png';
+ break;
+ }
+
+ Cache::forget($limitKey);
+ $fractal = new Fractal\Manager();
+ $fractal->setSerializer(new ArraySerializer());
+ $resource = new Fractal\Resource\Item($media, new MediaTransformer());
+ $res = $fractal->createData($resource)->toArray();
+ $res['preview_url'] = $media->url(). '?v=' . time();
+ $res['url'] = null;
+ return $this->json($res, 202);
+ }
+}
diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php
index 6bcec3647..3861d3272 100644
--- a/app/Http/Controllers/Auth/LoginController.php
+++ b/app/Http/Controllers/Auth/LoginController.php
@@ -7,6 +7,8 @@ use App\Http\Controllers\Controller;
use App\User;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use App\Services\BouncerService;
+use Illuminate\Http\Request;
+use Illuminate\Validation\ValidationException;
class LoginController extends Controller
{
@@ -70,8 +72,16 @@ class LoginController extends Controller
'password' => 'required|string|min:6',
];
- if(config('captcha.enabled')) {
- $rules['h-captcha-response'] = 'required|captcha';
+ if(
+ config('captcha.enabled') ||
+ config('captcha.active.login') ||
+ (
+ config('captcha.triggers.login.enabled') &&
+ request()->session()->has('login_attempts') &&
+ request()->session()->get('login_attempts') >= config('captcha.triggers.login.attempts')
+ )
+ ) {
+ $rules['h-captcha-response'] = 'required|filled|captcha|min:5';
}
$this->validate($request, $rules);
@@ -102,4 +112,28 @@ class LoginController extends Controller
$log->user_agent = $request->userAgent();
$log->save();
}
+
+ /**
+ * Get the failed login response instance.
+ *
+ * @param \Illuminate\Http\Request $request
+ * @return \Symfony\Component\HttpFoundation\Response
+ *
+ * @throws \Illuminate\Validation\ValidationException
+ */
+ protected function sendFailedLoginResponse(Request $request)
+ {
+ if(config('captcha.triggers.login.enabled')) {
+ if ($request->session()->has('login_attempts')) {
+ $ct = $request->session()->get('login_attempts');
+ $request->session()->put('login_attempts', $ct + 1);
+ } else {
+ $request->session()->put('login_attempts', 1);
+ }
+ }
+
+ throw ValidationException::withMessages([
+ $this->username() => [trans('auth.failed')],
+ ]);
+ }
}
diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php
index 0e62abef8..5eb1159fe 100644
--- a/app/Http/Controllers/Auth/RegisterController.php
+++ b/app/Http/Controllers/Auth/RegisterController.php
@@ -137,7 +137,7 @@ class RegisterController extends Controller
'password' => 'required|string|min:'.config('pixelfed.min_password_length').'|confirmed',
];
- if(config('captcha.enabled')) {
+ if(config('captcha.enabled') || config('captcha.active.register')) {
$rules['h-captcha-response'] = 'required|captcha';
}
@@ -178,8 +178,9 @@ class RegisterController extends Controller
if(config('pixelfed.bouncer.cloud_ips.ban_signups')) {
abort_if(BouncerService::checkIp(request()->ip()), 404);
}
- $limit = config('pixelfed.max_users');
- if($limit) {
+ $hasLimit = config('pixelfed.enforce_max_users');
+ if($hasLimit) {
+ $limit = config('pixelfed.max_users');
$count = User::where(function($q){ return $q->whereNull('status')->orWhereNotIn('status', ['deleted','delete']); })->count();
if($limit <= $count) {
return redirect(route('help.instance-max-users-limit'));
@@ -208,13 +209,17 @@ class RegisterController extends Controller
abort_if(BouncerService::checkIp($request->ip()), 404);
}
- $count = User::where(function($q){ return $q->whereNull('status')->orWhereNotIn('status', ['deleted','delete']); })->count();
- $limit = config('pixelfed.max_users');
+ $hasLimit = config('pixelfed.enforce_max_users');
+ if($hasLimit) {
+ $count = User::where(function($q){ return $q->whereNull('status')->orWhereNotIn('status', ['deleted','delete']); })->count();
+ $limit = config('pixelfed.max_users');
- if(false == config_cache('pixelfed.open_registration') || $limit && $limit <= $count) {
- return redirect(route('help.instance-max-users-limit'));
+ if($limit && $limit <= $count) {
+ return redirect(route('help.instance-max-users-limit'));
+ }
}
+
$this->validator($request->all())->validate();
event(new Registered($user = $this->create($request->all())));
diff --git a/app/Http/Controllers/ComposeController.php b/app/Http/Controllers/ComposeController.php
index 16192682c..7a3614f3d 100644
--- a/app/Http/Controllers/ComposeController.php
+++ b/app/Http/Controllers/ComposeController.php
@@ -673,7 +673,7 @@ class ComposeController extends Controller
$status->caption = strip_tags($request->caption);
$status->profile_id = $profile->id;
- $entities = Extractor::create()->extract($status->caption);
+ $entities = [];
$visibility = $profile->unlisted == true && $visibility == 'public' ? 'unlisted' : $visibility;
$cw = $profile->cw == true ? true : $cw;
$status->is_nsfw = $cw;
diff --git a/app/Http/Controllers/DirectMessageController.php b/app/Http/Controllers/DirectMessageController.php
index 5346be845..1f7e04e59 100644
--- a/app/Http/Controllers/DirectMessageController.php
+++ b/app/Http/Controllers/DirectMessageController.php
@@ -368,8 +368,6 @@ class DirectMessageController extends Controller
$notification->profile_id = $recipient->id;
$notification->actor_id = $profile->id;
$notification->action = 'dm';
- $notification->message = $dm->toText();
- $notification->rendered = $dm->toHtml();
$notification->item_id = $dm->id;
$notification->item_type = "App\DirectMessage";
$notification->save();
diff --git a/app/Http/Controllers/ImportPostController.php b/app/Http/Controllers/ImportPostController.php
new file mode 100644
index 000000000..e814c2b3a
--- /dev/null
+++ b/app/Http/Controllers/ImportPostController.php
@@ -0,0 +1,298 @@
+middleware('auth');
+ }
+
+ public function getConfig(Request $request)
+ {
+ return [
+ 'enabled' => config('import.instagram.enabled'),
+
+ 'limits' => [
+ 'max_posts' => config('import.instagram.limits.max_posts'),
+ 'max_attempts' => config('import.instagram.limits.max_attempts'),
+ ],
+
+ 'allow_video_posts' => config('import.instagram.allow_video_posts'),
+
+ 'permissions' => [
+ 'admins_only' => config('import.instagram.permissions.admins_only'),
+ 'admin_follows_only' => config('import.instagram.permissions.admin_follows_only'),
+ 'min_account_age' => config('import.instagram.permissions.min_account_age'),
+ 'min_follower_count' => config('import.instagram.permissions.min_follower_count'),
+ ],
+
+ 'allowed' => $this->checkPermissions($request, false)
+ ];
+ }
+
+ public function getProcessingCount(Request $request)
+ {
+ abort_unless(config('import.instagram.enabled'), 404);
+
+ $processing = ImportPost::whereProfileId($request->user()->profile_id)
+ ->whereNull('status_id')
+ ->whereSkipMissingMedia(false)
+ ->count();
+
+ $finished = ImportPost::whereProfileId($request->user()->profile_id)
+ ->whereNotNull('status_id')
+ ->whereSkipMissingMedia(false)
+ ->count();
+
+ return response()->json([
+ 'processing_count' => $processing,
+ 'finished_count' => $finished,
+ ]);
+ }
+
+ public function getImportedFiles(Request $request)
+ {
+ abort_unless(config('import.instagram.enabled'), 404);
+
+ return response()->json(
+ ImportService::getImportedFiles($request->user()->profile_id),
+ 200,
+ [],
+ JSON_UNESCAPED_SLASHES
+ );
+ }
+
+ public function getImportedPosts(Request $request)
+ {
+ abort_unless(config('import.instagram.enabled'), 404);
+
+ return ImportStatus::collection(
+ ImportPost::whereProfileId($request->user()->profile_id)
+ ->has('status')
+ ->cursorPaginate(9)
+ );
+ }
+
+ public function store(Request $request)
+ {
+ abort_unless(config('import.instagram.enabled'), 404);
+ $this->checkPermissions($request);
+
+ $uid = $request->user()->id;
+ $pid = $request->user()->profile_id;
+ foreach($request->input('files') as $file) {
+ $media = $file['media'];
+ $c = collect($media);
+ $postHash = hash('sha256', $c->toJson());
+ $exts = $c->map(function($m) {
+ $fn = last(explode('/', $m['uri']));
+ return last(explode('.', $fn));
+ });
+ $postType = 'photo';
+
+ if($exts->count() > 1) {
+ if($exts->contains('mp4')) {
+ if($exts->contains('jpg', 'png')) {
+ $postType = 'photo:video:album';
+ } else {
+ $postType = 'video:album';
+ }
+ } else {
+ $postType = 'photo:album';
+ }
+ } else {
+ if(in_array($exts[0], ['jpg', 'png'])) {
+ $postType = 'photo';
+ } else if(in_array($exts[0], ['mp4'])) {
+ $postType = 'video';
+ }
+ }
+
+ $ip = new ImportPost;
+ $ip->user_id = $uid;
+ $ip->profile_id = $pid;
+ $ip->post_hash = $postHash;
+ $ip->service = 'instagram';
+ $ip->post_type = $postType;
+ $ip->media_count = $c->count();
+ $ip->media = $c->map(function($m) {
+ return [
+ 'uri' => $m['uri'],
+ 'title' => $m['title'],
+ 'creation_timestamp' => $m['creation_timestamp']
+ ];
+ })->toArray();
+ $ip->caption = $c->count() > 1 ? $file['title'] : $ip->media[0]['title'];
+ $ip->filename = last(explode('/', $ip->media[0]['uri']));
+ $ip->metadata = $c->map(function($m) {
+ return [
+ 'uri' => $m['uri'],
+ 'media_metadata' => isset($m['media_metadata']) ? $m['media_metadata'] : null
+ ];
+ })->toArray();
+ $ip->creation_date = $c->count() > 1 ? now()->parse($file['creation_timestamp']) : now()->parse($media[0]['creation_timestamp']);
+ $ip->creation_year = now()->parse($ip->creation_date)->format('y');
+ $ip->creation_month = now()->parse($ip->creation_date)->format('m');
+ $ip->creation_day = now()->parse($ip->creation_date)->format('d');
+ $ip->save();
+
+ ImportService::getImportedFiles($pid, true);
+ ImportService::getPostCount($pid, true);
+ }
+ return [
+ 'msg' => 'Success'
+ ];
+ }
+
+ public function storeMedia(Request $request)
+ {
+ abort_unless(config('import.instagram.enabled'), 404);
+
+ $this->checkPermissions($request);
+
+ $mimes = config('import.instagram.allow_video_posts') ? 'mimetypes:image/png,image/jpeg,video/mp4' : 'mimetypes:image/png,image/jpeg';
+
+ $this->validate($request, [
+ 'file' => 'required|array|max:10',
+ 'file.*' => [
+ 'required',
+ 'file',
+ $mimes,
+ 'max:' . config('pixelfed.max_photo_size')
+ ]
+ ]);
+
+ foreach($request->file('file') as $file) {
+ $fileName = $file->getClientOriginalName();
+ $file->storeAs('imports/' . $request->user()->id . '/', $fileName);
+ }
+
+ ImportService::getImportedFiles($request->user()->profile_id, true);
+
+ return [
+ 'msg' => 'Success'
+ ];
+ }
+
+ protected function checkPermissions($request, $abortOnFail = true)
+ {
+ $user = $request->user();
+
+ if($abortOnFail) {
+ abort_unless(config('import.instagram.enabled'), 404);
+ }
+
+ if($user->is_admin) {
+ if(!$abortOnFail) {
+ return true;
+ } else {
+ return;
+ }
+ }
+
+ $admin = User::whereIsAdmin(true)->first();
+
+ if(config('import.instagram.permissions.admins_only')) {
+ if($abortOnFail) {
+ abort_unless($user->is_admin, 404, 'Only admins can use this feature.');
+ } else {
+ if(!$user->is_admin) {
+ return false;
+ }
+ }
+ }
+
+ if(config('import.instagram.permissions.admin_follows_only')) {
+ $exists = Follower::whereProfileId($admin->profile_id)
+ ->whereFollowingId($user->profile_id)
+ ->exists();
+ if($abortOnFail) {
+ abort_unless(
+ $exists,
+ 404,
+ 'Only admins, and accounts they follow can use this feature'
+ );
+ } else {
+ if(!$exists) {
+ return false;
+ }
+ }
+ }
+
+ if(config('import.instagram.permissions.min_account_age')) {
+ $res = $user->created_at->lt(
+ now()->subDays(config('import.instagram.permissions.min_account_age'))
+ );
+ if($abortOnFail) {
+ abort_unless(
+ $res,
+ 404,
+ 'Your account is too new to use this feature'
+ );
+ } else {
+ if(!$res) {
+ return false;
+ }
+ }
+ }
+
+ if(config('import.instagram.permissions.min_follower_count')) {
+ $res = Follower::whereFollowingId($user->profile_id)->count() >= config('import.instagram.permissions.min_follower_count');
+ if($abortOnFail) {
+ abort_unless(
+ $res,
+ 404,
+ 'You don\'t have enough followers to use this feature'
+ );
+ } else {
+ if(!$res) {
+ return false;
+ }
+ }
+ }
+
+ if(intval(config('import.instagram.limits.max_posts')) > 0) {
+ $res = ImportService::getPostCount($user->profile_id) >= intval(config('import.instagram.limits.max_posts'));
+ if($abortOnFail) {
+ abort_if(
+ $res,
+ 404,
+ 'You have reached the limit of post imports and cannot import any more posts'
+ );
+ } else {
+ if($res) {
+ return false;
+ }
+ }
+ }
+
+ if(intval(config('import.instagram.limits.max_attempts')) > 0) {
+ $res = ImportService::getAttempts($user->profile_id) >= intval(config('import.instagram.limits.max_attempts'));
+ if($abortOnFail) {
+ abort_if(
+ $res,
+ 404,
+ 'You have reached the limit of post import attempts and cannot import any more posts'
+ );
+ } else {
+ if($res) {
+ return false;
+ }
+ }
+ }
+
+ if(!$abortOnFail) {
+ return true;
+ }
+ }
+}
diff --git a/app/Http/Controllers/InstanceActorController.php b/app/Http/Controllers/InstanceActorController.php
index 0eb796732..9e746fd5b 100644
--- a/app/Http/Controllers/InstanceActorController.php
+++ b/app/Http/Controllers/InstanceActorController.php
@@ -25,7 +25,61 @@ class InstanceActorController extends Controller
public function outbox()
{
$res = json_encode([
- '@context' => 'https://www.w3.org/ns/activitystreams',
+ "@context" => [
+ "https://www.w3.org/ns/activitystreams",
+ "https://w3id.org/security/v1",
+ [
+ "manuallyApprovesFollowers" => "as:manuallyApprovesFollowers",
+ "toot" => "http://joinmastodon.org/ns#",
+ "featured" => [
+ "@id" => "toot:featured",
+ "@type" => "@id"
+ ],
+ "featuredTags" => [
+ "@id" => "toot:featuredTags",
+ "@type" => "@id"
+ ],
+ "alsoKnownAs" => [
+ "@id" => "as:alsoKnownAs",
+ "@type" => "@id"
+ ],
+ "movedTo" => [
+ "@id" => "as:movedTo",
+ "@type" => "@id"
+ ],
+ "schema" => "http://schema.org#",
+ "PropertyValue" => "schema:PropertyValue",
+ "value" => "schema:value",
+ "discoverable" => "toot:discoverable",
+ "Device" => "toot:Device",
+ "Ed25519Signature" => "toot:Ed25519Signature",
+ "Ed25519Key" => "toot:Ed25519Key",
+ "Curve25519Key" => "toot:Curve25519Key",
+ "EncryptedMessage" => "toot:EncryptedMessage",
+ "publicKeyBase64" => "toot:publicKeyBase64",
+ "deviceId" => "toot:deviceId",
+ "claim" => [
+ "@type" => "@id",
+ "@id" => "toot:claim"
+ ],
+ "fingerprintKey" => [
+ "@type" => "@id",
+ "@id" => "toot:fingerprintKey"
+ ],
+ "identityKey" => [
+ "@type" => "@id",
+ "@id" => "toot:identityKey"
+ ],
+ "devices" => [
+ "@type" => "@id",
+ "@id" => "toot:devices"
+ ],
+ "messageFranking" => "toot:messageFranking",
+ "messageType" => "toot:messageType",
+ "cipherText" => "toot:cipherText",
+ "suspended" => "toot:suspended"
+ ]
+ ],
'id' => config('app.url') . '/i/actor/outbox',
'type' => 'OrderedCollection',
'totalItems' => 0,
diff --git a/app/Http/Controllers/LandingController.php b/app/Http/Controllers/LandingController.php
index 1472a78e7..5f9f0bba1 100644
--- a/app/Http/Controllers/LandingController.php
+++ b/app/Http/Controllers/LandingController.php
@@ -15,7 +15,7 @@ class LandingController extends Controller
return redirect('/');
}
- abort_if(config('instance.landing.show_directory') == false, 404);
+ abort_if(config_cache('instance.landing.show_directory') == false, 404);
return view('site.index');
}
@@ -26,14 +26,14 @@ class LandingController extends Controller
return redirect('/');
}
- abort_if(config('instance.landing.show_explore') == false, 404);
+ abort_if(config_cache('instance.landing.show_explore') == false, 404);
return view('site.index');
}
public function getDirectoryApi(Request $request)
{
- abort_if(config('instance.landing.show_directory') == false, 404);
+ abort_if(config_cache('instance.landing.show_directory') == false, 404);
return DirectoryProfile::collection(
Profile::whereNull('domain')
diff --git a/app/Http/Controllers/MediaController.php b/app/Http/Controllers/MediaController.php
index 4416837cc..b10e75795 100644
--- a/app/Http/Controllers/MediaController.php
+++ b/app/Http/Controllers/MediaController.php
@@ -3,18 +3,10 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
-use Auth, Storage, URL;
use App\Media;
-use Image as Intervention;
-use App\Jobs\ImageOptimizePipeline\ImageOptimize;
class MediaController extends Controller
{
- public function __construct()
- {
- $this->middleware('auth');
- }
-
public function index(Request $request)
{
//return view('settings.drive.index');
@@ -24,4 +16,16 @@ class MediaController extends Controller
{
abort(400, 'Endpoint deprecated');
}
+
+ public function fallbackRedirect(Request $request, $pid, $mhash, $uhash, $f)
+ {
+ abort_if(!config_cache('pixelfed.cloud_storage'), 404);
+ $path = 'public/m/_v2/' . $pid . '/' . $mhash . '/' . $uhash . '/' . $f;
+ $media = Media::whereProfileId($pid)
+ ->whereMediaPath($path)
+ ->whereNotNull('cdn_url')
+ ->firstOrFail();
+
+ return redirect()->away($media->cdn_url);
+ }
}
diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php
index d092d349b..df25b2d7b 100644
--- a/app/Http/Controllers/ProfileController.php
+++ b/app/Http/Controllers/ProfileController.php
@@ -7,11 +7,13 @@ use Auth;
use Cache;
use DB;
use View;
+use App\AccountInterstitial;
use App\Follower;
use App\FollowRequest;
use App\Profile;
use App\Story;
use App\User;
+use App\UserSetting;
use App\UserFilter;
use League\Fractal;
use App\Services\AccountService;
@@ -42,9 +44,22 @@ class ProfileController extends Controller
->whereUsername($username)
->firstOrFail();
+
if($request->wantsJson() && config_cache('federation.activitypub.enabled')) {
return $this->showActivityPub($request, $user);
}
+
+ $aiCheck = Cache::remember('profile:ai-check:spam-login:' . $user->id, 86400, function() use($user) {
+ $exists = AccountInterstitial::whereUserId($user->user_id)->where('is_spam', 1)->count();
+ if($exists) {
+ return true;
+ }
+
+ return false;
+ });
+ if($aiCheck) {
+ return redirect('/login');
+ }
return $this->buildProfile($request, $user);
}
@@ -207,7 +222,37 @@ class ProfileController extends Controller
abort_if(!$profile || $profile['locked'] || !$profile['local'], 404);
- $data = Cache::remember('pf:atom:user-feed:by-id:' . $profile['id'], 43200, function() use($pid, $profile) {
+ $aiCheck = Cache::remember('profile:ai-check:spam-login:' . $profile['id'], 86400, function() use($profile) {
+ $uid = User::whereProfileId($profile['id'])->first();
+ if(!$uid) {
+ return true;
+ }
+ $exists = AccountInterstitial::whereUserId($uid->id)->where('is_spam', 1)->count();
+ if($exists) {
+ return true;
+ }
+
+ return false;
+ });
+
+ abort_if($aiCheck, 404);
+
+ $enabled = Cache::remember('profile:atom:enabled:' . $profile['id'], 84600, function() use ($profile) {
+ $uid = User::whereProfileId($profile['id'])->first();
+ if(!$uid) {
+ return false;
+ }
+ $settings = UserSetting::whereUserId($uid->id)->first();
+ if(!$settings) {
+ return false;
+ }
+
+ return $settings->show_atom;
+ });
+
+ abort_if(!$enabled, 404);
+
+ $data = Cache::remember('pf:atom:user-feed:by-id:' . $profile['id'], 900, function() use($pid, $profile) {
$items = DB::table('statuses')
->whereProfileId($pid)
->whereVisibility('public')
@@ -234,7 +279,7 @@ class ProfileController extends Controller
return compact('items', 'permalink', 'headers');
});
- abort_if(!$data, 404);
+ abort_if(!$data || !isset($data['items']) || !isset($data['permalink']), 404);
return response()
->view('atom.user',
[
@@ -274,6 +319,19 @@ class ProfileController extends Controller
return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']);
}
+ $aiCheck = Cache::remember('profile:ai-check:spam-login:' . $profile->id, 86400, function() use($profile) {
+ $exists = AccountInterstitial::whereUserId($profile->user_id)->where('is_spam', 1)->count();
+ if($exists) {
+ return true;
+ }
+
+ return false;
+ });
+
+ if($aiCheck) {
+ return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']);
+ }
+
if(AccountService::canEmbed($profile->user_id) == false) {
return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']);
}
diff --git a/app/Http/Controllers/Settings/PrivacySettings.php b/app/Http/Controllers/Settings/PrivacySettings.php
index 3cee63322..3d1cd4515 100644
--- a/app/Http/Controllers/Settings/PrivacySettings.php
+++ b/app/Http/Controllers/Settings/PrivacySettings.php
@@ -20,11 +20,13 @@ trait PrivacySettings
public function privacy()
{
- $settings = Auth::user()->settings;
- $is_private = Auth::user()->profile->is_private;
- $settings['is_private'] = (bool) $is_private;
+ $user = Auth::user();
+ $settings = $user->settings;
+ $profile = $user->profile;
+ $is_private = $profile->is_private;
+ $settings['is_private'] = (bool) $is_private;
- return view('settings.privacy', compact('settings'));
+ return view('settings.privacy', compact('settings', 'profile'));
}
public function privacyStore(Request $request)
@@ -37,6 +39,7 @@ trait PrivacySettings
'public_dm',
'show_profile_follower_count',
'show_profile_following_count',
+ 'show_atom',
];
$profile->is_suggestable = $request->input('is_suggestable') == 'on';
@@ -80,6 +83,7 @@ trait PrivacySettings
Cache::forget('user:account:id:' . $profile->user_id);
Cache::forget('profile:follower_count:' . $profile->id);
Cache::forget('profile:following_count:' . $profile->id);
+ Cache::forget('profile:atom:enabled:' . $profile->id);
Cache::forget('profile:embed:' . $profile->id);
Cache::forget('pf:acct:settings:hidden-followers:' . $profile->id);
Cache::forget('pf:acct:settings:hidden-following:' . $profile->id);
diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php
index 9b3f03d05..a2459f2d1 100644
--- a/app/Http/Controllers/SettingsController.php
+++ b/app/Http/Controllers/SettingsController.php
@@ -81,14 +81,12 @@ class SettingsController extends Controller
public function dataImport()
{
- abort_if(!config_cache('pixelfed.import.instagram.enabled'), 404);
return view('settings.import.home');
}
public function dataImportInstagram()
{
- abort_if(!config_cache('pixelfed.import.instagram.enabled'), 404);
- return view('settings.import.instagram.home');
+ abort(404);
}
public function developers()
diff --git a/app/Http/Controllers/StatusController.php b/app/Http/Controllers/StatusController.php
index 4762c3f84..43ac03263 100644
--- a/app/Http/Controllers/StatusController.php
+++ b/app/Http/Controllers/StatusController.php
@@ -115,10 +115,25 @@ class StatusController extends Controller
->whereIsPrivate(false)
->whereUsername($username)
->first();
+
if(!$profile) {
$content = view('status.embed-removed');
return response($content)->header('X-Frame-Options', 'ALLOWALL');
}
+
+ $aiCheck = Cache::remember('profile:ai-check:spam-login:' . $profile->id, 86400, function() use($profile) {
+ $exists = AccountInterstitial::whereUserId($profile->user_id)->where('is_spam', 1)->count();
+ if($exists) {
+ return true;
+ }
+
+ return false;
+ });
+
+ if($aiCheck) {
+ $res = view('status.embed-removed');
+ return response($res)->withHeaders(['X-Frame-Options' => 'ALLOWALL']);
+ }
$status = Status::whereProfileId($profile->id)
->whereNull('uri')
->whereScope('public')
diff --git a/app/Http/Controllers/StatusEditController.php b/app/Http/Controllers/StatusEditController.php
new file mode 100644
index 000000000..1f60e46bf
--- /dev/null
+++ b/app/Http/Controllers/StatusEditController.php
@@ -0,0 +1,60 @@
+middleware('auth');
+ abort_if(!config('exp.pue'), 404, 'Post editing is not enabled on this server.');
+ }
+
+ public function store(StoreStatusEditRequest $request, $id)
+ {
+ $validated = $request->validated();
+
+ $status = Status::findOrFail($id);
+ abort_if(StatusEdit::whereStatusId($status->id)->count() >= 10, 400, 'You cannot edit your post more than 10 times.');
+ $res = UpdateStatusService::call($status, $validated);
+
+ $status = Status::findOrFail($id);
+ StatusLocalUpdateActivityPubDeliverPipeline::dispatch($status)->delay(now()->addMinutes(1));
+ return $res;
+ }
+
+ public function history(Request $request, $id)
+ {
+ abort_if(!$request->user(), 403);
+ $status = Status::whereNull('reblog_of_id')->findOrFail($id);
+ abort_if(!in_array($status->scope, ['public', 'unlisted']), 403);
+ if(!$status->edits()->count()) {
+ return [];
+ }
+ $cached = StatusService::get($status->id, false);
+
+ $res = $status->edits->map(function($edit) use($cached) {
+ $caption = nl2br(strip_tags(str_replace('
', "\n", $edit->caption)));
+ return [
+ 'content' => Autolink::create()->autolink($caption),
+ 'spoiler_text' => $edit->spoiler_text,
+ 'sensitive' => (bool) $edit->is_nsfw,
+ 'created_at' => str_replace('+00:00', 'Z', $edit->created_at->format(DATE_RFC3339_EXTENDED)),
+ 'account' => $cached['account'],
+ 'media_attachments' => $cached['media_attachments'],
+ 'emojis' => $cached['emojis'],
+ ];
+ })->reverse()->values()->toArray();
+ return $res;
+ }
+}
diff --git a/app/Http/Controllers/Stories/StoryApiV1Controller.php b/app/Http/Controllers/Stories/StoryApiV1Controller.php
index 16d1805b9..e32fffa26 100644
--- a/app/Http/Controllers/Stories/StoryApiV1Controller.php
+++ b/app/Http/Controllers/Stories/StoryApiV1Controller.php
@@ -328,8 +328,6 @@ class StoryApiV1Controller extends Controller
$n->item_id = $dm->id;
$n->item_type = 'App\DirectMessage';
$n->action = 'story:comment';
- $n->message = "{$request->user()->username} commented on story";
- $n->rendered = "{$request->user()->username} commented on story";
$n->save();
} else {
StoryReplyDeliver::dispatch($story, $status)->onQueue('story');
diff --git a/app/Http/Controllers/StoryComposeController.php b/app/Http/Controllers/StoryComposeController.php
index f913d859f..8f9358b74 100644
--- a/app/Http/Controllers/StoryComposeController.php
+++ b/app/Http/Controllers/StoryComposeController.php
@@ -442,8 +442,6 @@ class StoryComposeController extends Controller
$n->item_id = $dm->id;
$n->item_type = 'App\DirectMessage';
$n->action = 'story:react';
- $n->message = "{$request->user()->username} reacted to your story";
- $n->rendered = "{$request->user()->username} reacted to your story";
$n->save();
} else {
StoryReactionDeliver::dispatch($story, $status)->onQueue('story');
@@ -516,8 +514,6 @@ class StoryComposeController extends Controller
$n->item_id = $dm->id;
$n->item_type = 'App\DirectMessage';
$n->action = 'story:comment';
- $n->message = "{$request->user()->username} commented on story";
- $n->rendered = "{$request->user()->username} commented on story";
$n->save();
} else {
StoryReplyDeliver::dispatch($story, $status)->onQueue('story');
diff --git a/app/Http/Controllers/StoryController.php b/app/Http/Controllers/StoryController.php
index 216fed8b4..5a9fb5530 100644
--- a/app/Http/Controllers/StoryController.php
+++ b/app/Http/Controllers/StoryController.php
@@ -37,28 +37,53 @@ class StoryController extends StoryComposeController
$pid = $request->user()->profile_id;
if(config('database.default') == 'pgsql') {
- $s = Story::select('stories.*', 'followers.following_id')
- ->leftJoin('followers', 'followers.following_id', 'stories.profile_id')
- ->where('followers.profile_id', $pid)
- ->where('stories.active', true)
+ $s = Cache::remember('pf:stories:recent-by-id:' . $pid, 900, function() use($pid) {
+ return Story::select('stories.*', 'followers.following_id')
+ ->leftJoin('followers', 'followers.following_id', 'stories.profile_id')
+ ->where('followers.profile_id', $pid)
+ ->where('stories.active', true)
+ ->get()
+ ->map(function($s) {
+ $r = new \StdClass;
+ $r->id = $s->id;
+ $r->profile_id = $s->profile_id;
+ $r->type = $s->type;
+ $r->path = $s->path;
+ return $r;
+ })
+ ->unique('profile_id');
+ });
+
+ } else {
+ $s = Cache::remember('pf:stories:recent-by-id:' . $pid, 900, function() use($pid) {
+ return Story::select('stories.*', 'followers.following_id')
+ ->leftJoin('followers', 'followers.following_id', 'stories.profile_id')
+ ->where('followers.profile_id', $pid)
+ ->where('stories.active', true)
+ ->groupBy('followers.following_id')
+ ->orderByDesc('id')
+ ->get();
+ });
+ }
+
+ $self = Cache::remember('pf:stories:recent-self:' . $pid, 21600, function() use($pid) {
+ return Story::whereProfileId($pid)
+ ->whereActive(true)
+ ->orderByDesc('id')
+ ->limit(1)
->get()
- ->map(function($s) {
+ ->map(function($s) use($pid) {
$r = new \StdClass;
$r->id = $s->id;
- $r->profile_id = $s->profile_id;
+ $r->profile_id = $pid;
$r->type = $s->type;
$r->path = $s->path;
return $r;
- })
- ->unique('profile_id');
- } else {
- $s = Story::select('stories.*', 'followers.following_id')
- ->leftJoin('followers', 'followers.following_id', 'stories.profile_id')
- ->where('followers.profile_id', $pid)
- ->where('stories.active', true)
- ->groupBy('followers.following_id')
- ->orderByDesc('id')
- ->get();
+ });
+ });
+
+ if($self->count()) {
+ $s->prepend($self->first());
}
$res = $s->map(function($s) use($pid) {
@@ -93,7 +118,7 @@ class StoryController extends StoryComposeController
$profile = Profile::findOrFail($id);
if($authed != $profile->id && !FollowerService::follows($authed, $profile->id)) {
- return [];
+ return abort([], 403);
}
$stories = Story::whereProfileId($profile->id)
@@ -164,7 +189,6 @@ class StoryController extends StoryComposeController
$publicOnly = (bool) $profile->followedBy($authed);
abort_if(!$publicOnly, 403);
-
$v = StoryView::firstOrCreate([
'story_id' => $id,
'profile_id' => $authed->id
diff --git a/app/Http/Controllers/UserAppSettingsController.php b/app/Http/Controllers/UserAppSettingsController.php
new file mode 100644
index 000000000..b18c97931
--- /dev/null
+++ b/app/Http/Controllers/UserAppSettingsController.php
@@ -0,0 +1,48 @@
+middleware('auth');
+ }
+
+ public function get(Request $request)
+ {
+ abort_if(!$request->user(), 403);
+
+ $settings = UserAppSettings::whereUserId($request->user()->id)->first();
+
+ if(!$settings) {
+ return [
+ 'id' => (string) $request->user()->profile_id,
+ 'username' => $request->user()->username,
+ 'updated_at' => null,
+ 'common' => AccountAppSettingsService::default(),
+ ];
+ }
+
+ return new UserAppSettingsResource($settings);
+ }
+
+ public function store(StoreUserAppSettings $request)
+ {
+ $res = UserAppSettings::updateOrCreate([
+ 'user_id' => $request->user()->id,
+ ],[
+ 'profile_id' => $request->user()->profile_id,
+ 'common' => $request->common,
+ ]
+ );
+
+ return new UserAppSettingsResource($res);
+ }
+}
diff --git a/app/Http/Middleware/DeprecatedEndpoint.php b/app/Http/Middleware/DeprecatedEndpoint.php
new file mode 100644
index 000000000..b6df30386
--- /dev/null
+++ b/app/Http/Middleware/DeprecatedEndpoint.php
@@ -0,0 +1,28 @@
+gt('Jan 01, 2024'), 404);
+ $response = $next($request);
+ $link = $response->headers->has('link') ? $response->headers->get('link') . ',; rel="deprecation"' : '; rel="deprecation"';
+ $response->withHeaders([
+ 'Deprecation' => 'Sat, 01 Jul 2023 00:00:00 GMT',
+ 'Sunset' => 'Mon, 01 Jan 2024 00:00:00 GMT',
+ 'Link' => $link
+ ]);
+ return $response;
+ }
+}
diff --git a/app/Http/Requests/Status/StoreStatusEditRequest.php b/app/Http/Requests/Status/StoreStatusEditRequest.php
new file mode 100644
index 000000000..aa9364ca6
--- /dev/null
+++ b/app/Http/Requests/Status/StoreStatusEditRequest.php
@@ -0,0 +1,69 @@
+user()->profile;
+ if($profile->status != null) {
+ return false;
+ }
+ if($profile->unlisted == true && $profile->cw == true) {
+ return false;
+ }
+ $types = [
+ "photo",
+ "photo:album",
+ "photo:video:album",
+ "reply",
+ "text",
+ "video",
+ "video:album"
+ ];
+ $scopes = ['public', 'unlisted', 'private'];
+ $status = Status::whereNull('reblog_of_id')->whereIn('type', $types)->whereIn('scope', $scopes)->find($this->route('id'));
+ return $status && $this->user()->profile_id === $status->profile_id;
+ }
+
+ /**
+ * Get the validation rules that apply to the request.
+ *
+ * @return array
+ */
+ public function rules(): array
+ {
+ return [
+ 'status' => 'sometimes|max:'.config('pixelfed.max_caption_length', 500),
+ 'spoiler_text' => 'nullable|string|max:140',
+ 'sensitive' => 'sometimes|boolean',
+ 'media_ids' => [
+ 'nullable',
+ 'required_without:status',
+ 'array',
+ 'max:' . config('pixelfed.max_album_length'),
+ function (string $attribute, mixed $value, Closure $fail) {
+ Media::whereProfileId($this->user()->profile_id)
+ ->where(function($query) {
+ return $query->whereNull('status_id')
+ ->orWhere('status_id', '=', $this->route('id'));
+ })
+ ->findOrFail($value);
+ },
+ ],
+ 'location' => 'sometimes|nullable',
+ 'location.id' => 'sometimes|integer|min:1|max:128769',
+ 'location.country' => 'required_with:location.id',
+ 'location.name' => 'required_with:location.id',
+ ];
+ }
+}
diff --git a/app/Http/Requests/StoreUserAppSettings.php b/app/Http/Requests/StoreUserAppSettings.php
new file mode 100644
index 000000000..424ef4931
--- /dev/null
+++ b/app/Http/Requests/StoreUserAppSettings.php
@@ -0,0 +1,82 @@
+user() || $this->user()->status) {
+ return false;
+ }
+
+ return true;
+ }
+
+ /**
+ * Get the validation rules that apply to the request.
+ *
+ * @return array
+ */
+ public function rules(): array
+ {
+ return [
+ 'common' => 'required|array',
+ 'common.timelines.show_public' => 'required|boolean',
+ 'common.timelines.show_network' => 'required|boolean',
+ 'common.timelines.hide_likes_shares' => 'required|boolean',
+ 'common.media.hide_public_behind_cw' => 'required|boolean',
+ 'common.media.always_show_cw' => 'required|boolean',
+ 'common.media.show_alt_text' => 'required|boolean',
+ 'common.appearance.links_use_in_app_browser' => 'required|boolean',
+ 'common.appearance.theme' => 'required|string|in:light,dark,system',
+ ];
+ }
+ /**
+ * Prepare inputs for validation.
+ *
+ * @return void
+ */
+ protected function prepareForValidation()
+ {
+ $this->merge([
+ 'common' => array_merge(
+ $this->input('common'),
+ [
+ 'timelines' => [
+ 'show_public' => $this->toBoolean($this->input('common.timelines.show_public')),
+ 'show_network' => $this->toBoolean($this->input('common.timelines.show_network')),
+ 'hide_likes_shares' => $this->toBoolean($this->input('common.timelines.hide_likes_shares'))
+ ],
+
+ 'media' => [
+ 'hide_public_behind_cw' => $this->toBoolean($this->input('common.media.hide_public_behind_cw')),
+ 'always_show_cw' => $this->toBoolean($this->input('common.media.always_show_cw')),
+ 'show_alt_text' => $this->toBoolean($this->input('common.media.show_alt_text')),
+ ],
+
+ 'appearance' => [
+ 'links_use_in_app_browser' => $this->toBoolean($this->input('common.appearance.links_use_in_app_browser')),
+ 'theme' => $this->input('common.appearance.theme'),
+ ]
+ ]
+ )
+ ]);
+ }
+
+ /**
+ * Convert to boolean
+ *
+ * @param $booleable
+ * @return boolean
+ */
+ private function toBoolean($booleable)
+ {
+ return filter_var($booleable, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
+ }
+}
diff --git a/app/Http/Resources/AdminUser.php b/app/Http/Resources/AdminUser.php
index bfbc9e425..75bac9f62 100644
--- a/app/Http/Resources/AdminUser.php
+++ b/app/Http/Resources/AdminUser.php
@@ -23,9 +23,11 @@ class AdminUser extends JsonResource
'name' => $this->name,
'username' => $this->username,
'is_admin' => (bool) $this->is_admin,
+ 'email' => $this->email,
'email_verified_at' => $this->email_verified_at,
'two_factor_enabled' => (bool) $this->{'2fa_enabled'},
'register_source' => $this->register_source,
+ 'app_register_ip' => $this->app_register_ip,
'last_active_at' => $this->last_active_at,
'created_at' => $this->created_at,
];
diff --git a/app/Http/Resources/ImportStatus.php b/app/Http/Resources/ImportStatus.php
new file mode 100644
index 000000000..a5178f95b
--- /dev/null
+++ b/app/Http/Resources/ImportStatus.php
@@ -0,0 +1,20 @@
+
+ */
+ public function toArray(Request $request): array
+ {
+ return StatusService::get($this->status_id, false);
+ }
+}
diff --git a/app/Http/Resources/MastoApi/FollowedTagResource.php b/app/Http/Resources/MastoApi/FollowedTagResource.php
new file mode 100644
index 000000000..3c690d05a
--- /dev/null
+++ b/app/Http/Resources/MastoApi/FollowedTagResource.php
@@ -0,0 +1,33 @@
+hashtag_id);
+
+ if(!$tag || !isset($tag['name'])) {
+ return [];
+ }
+
+ return [
+ 'name' => $tag['name'],
+ 'url' => config('app.url') . '/i/web/hashtag/' . $tag['slug'],
+ 'history' => [],
+ 'following' => true,
+ ];
+ }
+}
diff --git a/app/Http/Resources/UserAppSettingsResource.php b/app/Http/Resources/UserAppSettingsResource.php
new file mode 100644
index 000000000..814a8f55c
--- /dev/null
+++ b/app/Http/Resources/UserAppSettingsResource.php
@@ -0,0 +1,27 @@
+
+ */
+ public function toArray(Request $request): array
+ {
+ return [
+ 'id' => (string) $this->profile_id,
+ 'username' => $request->user()->username,
+ 'updated_at' => str_replace('+00:00', 'Z', $this->updated_at->format(DATE_RFC3339_EXTENDED)),
+ 'common' => $this->common,
+ ];
+ }
+}
diff --git a/app/Jobs/AutospamPipeline/AutospamPretrainNonSpamPipeline.php b/app/Jobs/AutospamPipeline/AutospamPretrainNonSpamPipeline.php
new file mode 100644
index 000000000..348f8e0ea
--- /dev/null
+++ b/app/Jobs/AutospamPipeline/AutospamPretrainNonSpamPipeline.php
@@ -0,0 +1,58 @@
+accounts = $accounts;
+ $this->classifier = new Classifier();
+ }
+
+ /**
+ * Execute the job.
+ */
+ public function handle(): void
+ {
+ $classifier = $this->classifier;
+ $accounts = $this->accounts;
+
+ foreach($accounts as $acct) {
+ Status::whereNotNull('caption')
+ ->whereScope('public')
+ ->whereProfileId($acct->id)
+ ->inRandomOrder()
+ ->take(400)
+ ->pluck('caption')
+ ->each(function($c) use ($classifier) {
+ $classifier->learn($c, 'ham');
+ });
+ }
+
+ Storage::put(AutospamService::MODEL_HAM_PATH, $classifier->export());
+
+ AutospamUpdateCachedDataPipeline::dispatch()->delay(5);
+ }
+}
diff --git a/app/Jobs/AutospamPipeline/AutospamPretrainPipeline.php b/app/Jobs/AutospamPipeline/AutospamPretrainPipeline.php
new file mode 100644
index 000000000..f1f637c37
--- /dev/null
+++ b/app/Jobs/AutospamPipeline/AutospamPretrainPipeline.php
@@ -0,0 +1,63 @@
+classifier = new Classifier();
+ }
+
+ /**
+ * Execute the job.
+ */
+ public function handle(): void
+ {
+ $classifier = $this->classifier;
+
+ $aiCount = AccountInterstitial::whereItemType('App\Status')
+ ->whereIsSpam(true)
+ ->count();
+
+ if($aiCount < 100) {
+ return;
+ }
+
+ AccountInterstitial::whereItemType('App\Status')
+ ->whereIsSpam(true)
+ ->inRandomOrder()
+ ->take(config('autospam.nlp.spam_sample_limit'))
+ ->pluck('item_id')
+ ->each(function ($ai) use($classifier) {
+ $status = Status::whereNotNull('caption')->find($ai);
+ if(!$status) {
+ return;
+ }
+ $classifier->learn($status->caption, 'spam');
+ });
+
+ Storage::put(AutospamService::MODEL_SPAM_PATH, $classifier->export());
+
+ AutospamUpdateCachedDataPipeline::dispatch()->delay(5);
+ }
+}
diff --git a/app/Jobs/AutospamPipeline/AutospamUpdateCachedDataPipeline.php b/app/Jobs/AutospamPipeline/AutospamUpdateCachedDataPipeline.php
new file mode 100644
index 000000000..4ac025bb8
--- /dev/null
+++ b/app/Jobs/AutospamPipeline/AutospamUpdateCachedDataPipeline.php
@@ -0,0 +1,109 @@
+ [
+ 'spam' => 0
+ ],
+ 'words' => [
+ 'spam' => []
+ ]
+ ];
+ }
+ $newSpam = AutospamCustomTokens::whereCategory('spam')->get();
+ foreach($newSpam as $ns) {
+ $key = strtolower($ns->token);
+ if(isset($spam['words']['spam'][$key])) {
+ $spam['words']['spam'][$key] = $spam['words']['spam'][$key] + $ns->weight;
+ } else {
+ $spam['words']['spam'][$key] = $ns->weight;
+ }
+ }
+ $newSpamCount = count($spam['words']['spam']);
+ if($newSpamCount) {
+ $spam['documents']['spam'] = $newSpamCount;
+ arsort($spam['words']['spam']);
+ Storage::put(AutospamService::MODEL_SPAM_PATH, json_encode($spam, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
+ }
+
+ $hamExists = Storage::exists(AutospamService::MODEL_HAM_PATH);
+ if($hamExists) {
+ $ham = json_decode(Storage::get(AutospamService::MODEL_HAM_PATH), true);
+ } else {
+ $ham = [
+ 'documents' => [
+ 'ham' => 0
+ ],
+ 'words' => [
+ 'ham' => []
+ ]
+ ];
+ }
+ $newHam = AutospamCustomTokens::whereCategory('ham')->get();
+ foreach($newHam as $ns) {
+ $key = strtolower($ns->token);
+ if(isset($spam['words']['ham'][$key])) {
+ $ham['words']['ham'][$key] = $ham['words']['ham'][$key] + $ns->weight;
+ } else {
+ $ham['words']['ham'][$key] = $ns->weight;
+ }
+ }
+
+ $newHamCount = count($ham['words']['ham']);
+ if($newHamCount) {
+ $ham['documents']['ham'] = $newHamCount;
+ arsort($ham['words']['ham']);
+ Storage::put(AutospamService::MODEL_HAM_PATH, json_encode($ham, JSON_UNESCAPED_SLASHES|JSON_PRETTY_PRINT));
+ }
+
+ if($newSpamCount && $newHamCount) {
+ $combined = [
+ 'documents' => [
+ 'spam' => $newSpamCount,
+ 'ham' => $newHamCount,
+ ],
+ 'words' => [
+ 'spam' => $spam['words']['spam'],
+ 'ham' => $ham['words']['ham']
+ ]
+ ];
+
+ Storage::put(AutospamService::MODEL_FILE_PATH, json_encode($combined, JSON_PRETTY_PRINT,JSON_UNESCAPED_SLASHES));
+ }
+
+ Cache::forget(AutospamService::MODEL_CACHE_KEY);
+ Cache::forget(AutospamService::CHCKD_CACHE_KEY);
+ }
+}
diff --git a/app/Jobs/AvatarPipeline/RemoteAvatarFetch.php b/app/Jobs/AvatarPipeline/RemoteAvatarFetch.php
index bc90f9cf8..df972dd38 100644
--- a/app/Jobs/AvatarPipeline/RemoteAvatarFetch.php
+++ b/app/Jobs/AvatarPipeline/RemoteAvatarFetch.php
@@ -60,7 +60,7 @@ class RemoteAvatarFetch implements ShouldQueue
{
$profile = $this->profile;
- if(config_cache('pixelfed.cloud_storage') == false && config_cache('federation.avatars.store_local') == false) {
+ if(boolval(config_cache('pixelfed.cloud_storage')) == false && boolval(config_cache('federation.avatars.store_local')) == false) {
return 1;
}
@@ -108,7 +108,7 @@ class RemoteAvatarFetch implements ShouldQueue
$avatar->remote_url = $icon['url'];
$avatar->save();
- MediaStorageService::avatar($avatar, config_cache('pixelfed.cloud_storage') == false);
+ MediaStorageService::avatar($avatar, boolval(config_cache('pixelfed.cloud_storage')) == false);
return 1;
}
diff --git a/app/Jobs/AvatarPipeline/RemoteAvatarFetchFromUrl.php b/app/Jobs/AvatarPipeline/RemoteAvatarFetchFromUrl.php
new file mode 100644
index 000000000..259058385
--- /dev/null
+++ b/app/Jobs/AvatarPipeline/RemoteAvatarFetchFromUrl.php
@@ -0,0 +1,97 @@
+profile = $profile;
+ $this->url = $url;
+ }
+
+ /**
+ * Execute the job.
+ *
+ * @return void
+ */
+ public function handle()
+ {
+ $profile = $this->profile;
+
+ Cache::forget('avatar:' . $profile->id);
+ AccountService::del($profile->id);
+
+ if(boolval(config_cache('pixelfed.cloud_storage')) == false && boolval(config_cache('federation.avatars.store_local')) == false) {
+ return 1;
+ }
+
+ if($profile->domain == null || $profile->private_key) {
+ return 1;
+ }
+
+ $avatar = Avatar::whereProfileId($profile->id)->first();
+
+ if(!$avatar) {
+ $avatar = new Avatar;
+ $avatar->profile_id = $profile->id;
+ $avatar->is_remote = true;
+ $avatar->remote_url = $this->url;
+ $avatar->save();
+ } else {
+ $avatar->remote_url = $this->url;
+ $avatar->is_remote = true;
+ $avatar->save();
+ }
+
+
+ MediaStorageService::avatar($avatar, boolval(config_cache('pixelfed.cloud_storage')) == false, true);
+
+ return 1;
+ }
+}
diff --git a/app/Jobs/CommentPipeline/CommentPipeline.php b/app/Jobs/CommentPipeline/CommentPipeline.php
index 0ae4ed4a2..3b2d896af 100644
--- a/app/Jobs/CommentPipeline/CommentPipeline.php
+++ b/app/Jobs/CommentPipeline/CommentPipeline.php
@@ -60,10 +60,12 @@ class CommentPipeline implements ShouldQueue
$actor = $comment->profile;
if(config('database.default') === 'mysql') {
- $exp = DB::raw("select id, in_reply_to_id from statuses, (select @pv := :kid) initialisation where id > @pv and find_in_set(in_reply_to_id, @pv) > 0 and @pv := concat(@pv, ',', id)");
- $expQuery = $exp->getValue(DB::connection()->getQueryGrammar());
- $count = DB::select($expQuery, [ 'kid' => $status->id ]);
- $status->reply_count = count($count);
+ // todo: refactor
+ // $exp = DB::raw("select id, in_reply_to_id from statuses, (select @pv := :kid) initialisation where id > @pv and find_in_set(in_reply_to_id, @pv) > 0 and @pv := concat(@pv, ',', id)");
+ // $expQuery = $exp->getValue(DB::connection()->getQueryGrammar());
+ // $count = DB::select($expQuery, [ 'kid' => $status->id ]);
+ // $status->reply_count = count($count);
+ $status->reply_count = $status->reply_count + 1;
$status->save();
} else {
$status->reply_count = $status->reply_count + 1;
@@ -94,8 +96,6 @@ class CommentPipeline implements ShouldQueue
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'comment';
- $notification->message = $comment->replyToText();
- $notification->rendered = $comment->replyToHtml();
$notification->item_id = $comment->id;
$notification->item_type = "App\Status";
$notification->save();
diff --git a/app/Jobs/FollowPipeline/FollowPipeline.php b/app/Jobs/FollowPipeline/FollowPipeline.php
index 2bda4057f..6db85fa6a 100644
--- a/app/Jobs/FollowPipeline/FollowPipeline.php
+++ b/app/Jobs/FollowPipeline/FollowPipeline.php
@@ -97,8 +97,6 @@ class FollowPipeline implements ShouldQueue
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'follow';
- $notification->message = $follower->toText();
- $notification->rendered = $follower->toHtml();
$notification->item_id = $target->id;
$notification->item_type = "App\Profile";
$notification->save();
diff --git a/app/Jobs/LikePipeline/LikePipeline.php b/app/Jobs/LikePipeline/LikePipeline.php
index d2be251ac..b44c90c8b 100644
--- a/app/Jobs/LikePipeline/LikePipeline.php
+++ b/app/Jobs/LikePipeline/LikePipeline.php
@@ -84,8 +84,6 @@ class LikePipeline implements ShouldQueue
$notification->profile_id = $status->profile_id;
$notification->actor_id = $actor->id;
$notification->action = 'like';
- $notification->message = $like->toText($status->in_reply_to_id ? 'comment' : 'post');
- $notification->rendered = $like->toHtml($status->in_reply_to_id ? 'comment' : 'post');
$notification->item_id = $status->id;
$notification->item_type = "App\Status";
$notification->save();
diff --git a/app/Jobs/MentionPipeline/MentionPipeline.php b/app/Jobs/MentionPipeline/MentionPipeline.php
index 2186af9d5..cec42f09d 100644
--- a/app/Jobs/MentionPipeline/MentionPipeline.php
+++ b/app/Jobs/MentionPipeline/MentionPipeline.php
@@ -67,10 +67,6 @@ class MentionPipeline implements ShouldQueue
'action' => 'mention',
'item_type' => 'App\Status',
'item_id' => $status->id,
- ],
- [
- 'message' => $mention->toText(),
- 'rendered' => $mention->toHtml()
]
);
diff --git a/app/Jobs/ProfilePipeline/HandleUpdateActivity.php b/app/Jobs/ProfilePipeline/HandleUpdateActivity.php
new file mode 100644
index 000000000..c8816e8a1
--- /dev/null
+++ b/app/Jobs/ProfilePipeline/HandleUpdateActivity.php
@@ -0,0 +1,94 @@
+payload = $payload;
+ }
+
+ /**
+ * Execute the job.
+ *
+ * @return void
+ */
+ public function handle(): void
+ {
+ $payload = $this->payload;
+
+ if(empty($payload) || !isset($payload['actor'])) {
+ return;
+ }
+
+ $profile = Profile::whereRemoteUrl($payload['actor'])->first();
+
+ if(!$profile || $profile->domain === null || $profile->private_key) {
+ return;
+ }
+
+ if($profile->sharedInbox == null || $profile->sharedInbox != $payload['object']['endpoints']['sharedInbox']) {
+ $profile->sharedInbox = $payload['object']['endpoints']['sharedInbox'];
+ }
+
+ if($profile->public_key !== $payload['object']['publicKey']['publicKeyPem']) {
+ $profile->public_key = $payload['object']['publicKey']['publicKeyPem'];
+ }
+
+ if($profile->bio !== $payload['object']['summary']) {
+ $len = strlen(strip_tags($payload['object']['summary']));
+ if($len) {
+ if($len > 500) {
+ $updated = strip_tags($payload['object']['summary']);
+ $updated = substr($updated, 0, config('pixelfed.max_bio_length'));
+ $profile->bio = Autolink::create()->autolink($updated);
+ } else {
+ $profile->bio = Purify::clean($payload['object']['summary']);
+ }
+ } else {
+ $profile->bio = null;
+ }
+ }
+
+ if($profile->name !== $payload['object']['name']) {
+ $profile->name = Purify::clean(substr($payload['object']['name'], 0, config('pixelfed.max_name_length')));
+ }
+
+ if($profile->isDirty()) {
+ $profile->save();
+ }
+
+ if(isset($payload['object']['icon']) && isset($payload['object']['icon']['url'])) {
+ RemoteAvatarFetchFromUrl::dispatch($profile, $payload['object']['icon']['url'])->onQueue('low');
+ } else {
+ $profile->avatar->update(['remote_url' => null]);
+ Cache::forget('avatar:' . $profile->id);
+ }
+
+ return;
+ }
+}
diff --git a/app/Jobs/SharePipeline/SharePipeline.php b/app/Jobs/SharePipeline/SharePipeline.php
index 528c78ca2..0b580500b 100644
--- a/app/Jobs/SharePipeline/SharePipeline.php
+++ b/app/Jobs/SharePipeline/SharePipeline.php
@@ -76,10 +76,6 @@ class SharePipeline implements ShouldQueue
'action' => 'share',
'item_type' => 'App\Status',
'item_id' => $status->reblog_of_id ?? $status->id,
- ],
- [
- 'message' => $status->shareToText(),
- 'rendered' => $status->shareToHtml()
]
);
diff --git a/app/Jobs/StatusPipeline/StatusActivityPubDeliver.php b/app/Jobs/StatusPipeline/StatusActivityPubDeliver.php
index ca77ff7fc..1292988f5 100644
--- a/app/Jobs/StatusPipeline/StatusActivityPubDeliver.php
+++ b/app/Jobs/StatusPipeline/StatusActivityPubDeliver.php
@@ -3,6 +3,7 @@
namespace App\Jobs\StatusPipeline;
use Cache, Log;
+use App\Profile;
use App\Status;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
@@ -52,12 +53,36 @@ class StatusActivityPubDeliver implements ShouldQueue
$status = $this->status;
$profile = $status->profile;
+ // ignore group posts
+ // if($status->group_id != null) {
+ // return;
+ // }
+
if($status->local == false || $status->url || $status->uri) {
return;
}
$audience = $status->profile->getAudienceInbox();
+ $parentInbox = [];
+
+ $mentions = $status->mentions
+ ->filter(function($f) { return $f->domain !== null;})
+ ->values()
+ ->map(function($m) { return $m->sharedInbox ?? $m->inbox_url; })
+ ->toArray();
+
+ if($status->in_reply_to_profile_id) {
+ $parent = Profile::find($status->in_reply_to_profile_id);
+ if($parent && $parent->domain !== null) {
+ $parentInbox = [
+ $parent->sharedInbox ?? $parent->inbox_url
+ ];
+ }
+ }
+
+ $audience = array_values(array_unique(array_merge($audience, $mentions, $parentInbox)));
+
if(empty($audience) || !in_array($status->scope, ['public', 'unlisted', 'private'])) {
// Return on profiles with no remote followers
return;
diff --git a/app/Jobs/StatusPipeline/StatusEntityLexer.php b/app/Jobs/StatusPipeline/StatusEntityLexer.php
index 1ee57c559..d205f1e21 100644
--- a/app/Jobs/StatusPipeline/StatusEntityLexer.php
+++ b/app/Jobs/StatusPipeline/StatusEntityLexer.php
@@ -89,7 +89,6 @@ class StatusEntityLexer implements ShouldQueue
DB::transaction(function () {
$status = $this->status;
$status->rendered = nl2br($this->autolink);
- $status->entities = json_encode($this->entities);
$status->save();
});
}
diff --git a/app/Jobs/StatusPipeline/StatusLocalUpdateActivityPubDeliverPipeline.php b/app/Jobs/StatusPipeline/StatusLocalUpdateActivityPubDeliverPipeline.php
new file mode 100644
index 000000000..745f5f5ff
--- /dev/null
+++ b/app/Jobs/StatusPipeline/StatusLocalUpdateActivityPubDeliverPipeline.php
@@ -0,0 +1,129 @@
+status = $status;
+ }
+
+ /**
+ * Execute the job.
+ *
+ * @return void
+ */
+ public function handle()
+ {
+ $status = $this->status;
+ $profile = $status->profile;
+
+ // ignore group posts
+ // if($status->group_id != null) {
+ // return;
+ // }
+
+ if($status->local == false || $status->url || $status->uri) {
+ return;
+ }
+
+ $audience = $status->profile->getAudienceInbox();
+
+ if(empty($audience) || !in_array($status->scope, ['public', 'unlisted', 'private'])) {
+ // Return on profiles with no remote followers
+ return;
+ }
+
+ switch($status->type) {
+ case 'poll':
+ // Polls not yet supported
+ return;
+ break;
+
+ default:
+ $activitypubObject = new UpdateNote();
+ break;
+ }
+
+
+ $fractal = new Fractal\Manager();
+ $fractal->setSerializer(new ArraySerializer());
+ $resource = new Fractal\Resource\Item($status, $activitypubObject);
+ $activity = $fractal->createData($resource)->toArray();
+
+ $payload = json_encode($activity);
+
+ $client = new Client([
+ 'timeout' => config('federation.activitypub.delivery.timeout')
+ ]);
+
+ $version = config('pixelfed.version');
+ $appUrl = config('app.url');
+ $userAgent = "(Pixelfed/{$version}; +{$appUrl})";
+
+ $requests = function($audience) use ($client, $activity, $profile, $payload, $userAgent) {
+ foreach($audience as $url) {
+ $headers = HttpSignature::sign($profile, $url, $activity, [
+ 'Content-Type' => 'application/ld+json; profile="https://www.w3.org/ns/activitystreams"',
+ 'User-Agent' => $userAgent,
+ ]);
+ yield function() use ($client, $url, $headers, $payload) {
+ return $client->postAsync($url, [
+ 'curl' => [
+ CURLOPT_HTTPHEADER => $headers,
+ CURLOPT_POSTFIELDS => $payload,
+ CURLOPT_HEADER => true,
+ CURLOPT_SSL_VERIFYPEER => false,
+ CURLOPT_SSL_VERIFYHOST => false
+ ]
+ ]);
+ };
+ }
+ };
+
+ $pool = new Pool($client, $requests($audience), [
+ 'concurrency' => config('federation.activitypub.delivery.concurrency'),
+ 'fulfilled' => function ($response, $index) {
+ },
+ 'rejected' => function ($reason, $index) {
+ }
+ ]);
+
+ $promise = $pool->promise();
+
+ $promise->wait();
+ }
+}
diff --git a/app/Jobs/StatusPipeline/StatusRemoteUpdatePipeline.php b/app/Jobs/StatusPipeline/StatusRemoteUpdatePipeline.php
new file mode 100644
index 000000000..6cb11ddc6
--- /dev/null
+++ b/app/Jobs/StatusPipeline/StatusRemoteUpdatePipeline.php
@@ -0,0 +1,173 @@
+activity = $activity;
+ }
+
+ /**
+ * Execute the job.
+ */
+ public function handle(): void
+ {
+ $activity = $this->activity;
+ $status = Status::with('media')->whereObjectUrl($activity['id'])->first();
+ if(!$status) {
+ return;
+ }
+ $this->createPreviousEdit($status);
+ $this->updateMedia($status, $activity);
+ $this->updateImmediateAttributes($status, $activity);
+ $this->createEdit($status, $activity);
+ }
+
+ protected function createPreviousEdit($status)
+ {
+ if(!$status->edits()->count()) {
+ StatusEdit::create([
+ 'status_id' => $status->id,
+ 'profile_id' => $status->profile_id,
+ 'caption' => $status->caption,
+ 'spoiler_text' => $status->cw_summary,
+ 'is_nsfw' => $status->is_nsfw,
+ 'ordered_media_attachment_ids' => $status->media()->orderBy('order')->pluck('id')->toArray(),
+ 'created_at' => $status->created_at
+ ]);
+ }
+ }
+
+ protected function updateMedia($status, $activity)
+ {
+ if(!isset($activity['attachment'])) {
+ return;
+ }
+ $ogm = $status->media->count() ? $status->media()->orderBy('order')->get() : collect([]);
+ $nm = collect($activity['attachment'])->filter(function($nm) {
+ return isset(
+ $nm['type'],
+ $nm['mediaType'],
+ $nm['url']
+ ) &&
+ in_array($nm['type'], ['Document', 'Image', 'Video']) &&
+ in_array($nm['mediaType'], explode(',', config('pixelfed.media_types')));
+ });
+
+ // Skip when no media
+ if(!$ogm->count() && !$nm->count()) {
+ return;
+ }
+
+ Media::whereProfileId($status->profile_id)
+ ->whereStatusId($status->id)
+ ->update([
+ 'status_id' => null
+ ]);
+
+ $nm->each(function($n, $key) use($status) {
+ $res = Http::retry(3, 100, throw: false)->head($n['url']);
+
+ if(!$res->successful()) {
+ return;
+ }
+
+ if(!in_array($res->header('content-type'), explode(',',config('pixelfed.media_types')))) {
+ return;
+ }
+
+ $m = new Media;
+ $m->status_id = $status->id;
+ $m->profile_id = $status->profile_id;
+ $m->remote_media = true;
+ $m->media_path = $n['url'];
+ $m->mime = $res->header('content-type');
+ $m->size = $res->hasHeader('content-length') ? $res->header('content-length') : null;
+ $m->caption = isset($n['name']) && !empty($n['name']) ? Purify::clean($n['name']) : null;
+ $m->remote_url = $n['url'];
+ $m->blurhash = isset($n['blurhash']) && (strlen($n['blurhash']) < 50) ? $n['blurhash'] : null;
+ $m->width = isset($n['width']) && !empty($n['width']) ? $n['width'] : null;
+ $m->height = isset($n['height']) && !empty($n['height']) ? $n['height'] : null;
+ $m->skip_optimize = true;
+ $m->order = $key + 1;
+ $m->save();
+ });
+ }
+
+ protected function updateImmediateAttributes($status, $activity)
+ {
+ if(isset($activity['content'])) {
+ $status->caption = strip_tags($activity['content']);
+ $status->rendered = Purify::clean($activity['content']);
+ }
+
+ if(isset($activity['sensitive'])) {
+ if((bool) $activity['sensitive'] == false) {
+ $status->is_nsfw = false;
+ $exists = ModLog::whereObjectType('App\Status::class')
+ ->whereObjectId($status->id)
+ ->whereAction('admin.status.moderate')
+ ->exists();
+ if($exists == true) {
+ $status->is_nsfw = true;
+ }
+ $profile = Profile::find($status->profile_id);
+ if(!$profile || $profile->cw == true) {
+ $status->is_nsfw = true;
+ }
+ } else {
+ $status->is_nsfw = true;
+ }
+ }
+
+ if(isset($activity['summary'])) {
+ $status->cw_summary = Purify::clean($activity['summary']);
+ } else {
+ $status->cw_summary = null;
+ }
+
+ $status->edited_at = now();
+ $status->save();
+ StatusService::del($status->id);
+ }
+
+ protected function createEdit($status, $activity)
+ {
+ $cleaned = isset($activity['content']) ? Purify::clean($activity['content']) : null;
+ $spoiler_text = isset($activity['summary']) ? Purify::clean($activity['summary']) : null;
+ $sensitive = isset($activity['sensitive']) ? $activity['sensitive'] : null;
+ $mids = $status->media()->count() ? $status->media()->orderBy('order')->pluck('id')->toArray() : null;
+ StatusEdit::create([
+ 'status_id' => $status->id,
+ 'profile_id' => $status->profile_id,
+ 'caption' => $cleaned,
+ 'spoiler_text' => $spoiler_text,
+ 'is_nsfw' => $sensitive,
+ 'ordered_media_attachment_ids' => $mids
+ ]);
+ }
+}
diff --git a/app/Jobs/StatusPipeline/StatusReplyPipeline.php b/app/Jobs/StatusPipeline/StatusReplyPipeline.php
index 2c41aa146..35238d293 100644
--- a/app/Jobs/StatusPipeline/StatusReplyPipeline.php
+++ b/app/Jobs/StatusPipeline/StatusReplyPipeline.php
@@ -70,10 +70,12 @@ class StatusReplyPipeline implements ShouldQueue
}
if(config('database.default') === 'mysql') {
- $exp = DB::raw("select id, in_reply_to_id from statuses, (select @pv := :kid) initialisation where id > @pv and find_in_set(in_reply_to_id, @pv) > 0 and @pv := concat(@pv, ',', id)");
- $expQuery = $exp->getValue(DB::connection()->getQueryGrammar());
- $count = DB::select($expQuery, [ 'kid' => $reply->id ]);
- $reply->reply_count = count($count);
+ // todo: refactor
+ // $exp = DB::raw("select id, in_reply_to_id from statuses, (select @pv := :kid) initialisation where id > @pv and find_in_set(in_reply_to_id, @pv) > 0 and @pv := concat(@pv, ',', id)");
+ // $expQuery = $exp->getValue(DB::connection()->getQueryGrammar());
+ // $count = DB::select($expQuery, [ 'kid' => $reply->id ]);
+ // $reply->reply_count = count($count);
+ $reply->reply_count = $reply->reply_count + 1;
$reply->save();
} else {
$reply->reply_count = $reply->reply_count + 1;
@@ -90,8 +92,6 @@ class StatusReplyPipeline implements ShouldQueue
$notification->profile_id = $target->id;
$notification->actor_id = $actor->id;
$notification->action = 'comment';
- $notification->message = $status->replyToText();
- $notification->rendered = $status->replyToHtml();
$notification->item_id = $status->id;
$notification->item_type = "App\Status";
$notification->save();
diff --git a/app/Like.php b/app/Like.php
index 2c2cd80f9..c5b000c66 100644
--- a/app/Like.php
+++ b/app/Like.php
@@ -31,21 +31,4 @@ class Like extends Model
{
return $this->belongsTo(Status::class);
}
-
- public function toText($type = 'post')
- {
- $actorName = $this->actor->username;
- $msg = $type == 'post' ? __('notification.likedPhoto') : __('notification.likedComment');
-
- return "{$actorName} ".$msg;
- }
-
- public function toHtml($type = 'post')
- {
- $actorName = $this->actor->username;
- $actorUrl = $this->actor->url();
- $msg = $type == 'post' ? __('notification.likedPhoto') : __('notification.likedComment');
-
- return "{$actorName} ".$msg;
- }
}
diff --git a/app/Mention.php b/app/Mention.php
index e0c30d35c..fab8d9c86 100644
--- a/app/Mention.php
+++ b/app/Mention.php
@@ -29,20 +29,4 @@ class Mention extends Model
{
return $this->belongsTo(Status::class, 'status_id', 'id');
}
-
- public function toText()
- {
- $actorName = $this->status->profile->username;
-
- return "{$actorName} ".__('notification.mentionedYou');
- }
-
- public function toHtml()
- {
- $actorName = $this->status->profile->username;
- $actorUrl = $this->status->profile->url();
-
- return "{$actorName} ".
- __('notification.mentionedYou');
- }
}
diff --git a/app/Models/AutospamCustomTokens.php b/app/Models/AutospamCustomTokens.php
new file mode 100644
index 000000000..874f41411
--- /dev/null
+++ b/app/Models/AutospamCustomTokens.php
@@ -0,0 +1,11 @@
+ 'array',
+ 'creation_date' => 'datetime',
+ 'metadata' => 'json'
+ ];
+
+ public function status()
+ {
+ return $this->hasOne(Status::class, 'id', 'status_id');
+ }
+}
diff --git a/app/Models/InstanceActor.php b/app/Models/InstanceActor.php
index 4636b10e9..d496e4b89 100644
--- a/app/Models/InstanceActor.php
+++ b/app/Models/InstanceActor.php
@@ -23,7 +23,61 @@ class InstanceActor extends Model
public function getActor()
{
return [
- '@context' => 'https://www.w3.org/ns/activitystreams',
+ "@context" => [
+ "https://www.w3.org/ns/activitystreams",
+ "https://w3id.org/security/v1",
+ [
+ "manuallyApprovesFollowers" => "as:manuallyApprovesFollowers",
+ "toot" => "http://joinmastodon.org/ns#",
+ "featured" => [
+ "@id" => "toot:featured",
+ "@type" => "@id"
+ ],
+ "featuredTags" => [
+ "@id" => "toot:featuredTags",
+ "@type" => "@id"
+ ],
+ "alsoKnownAs" => [
+ "@id" => "as:alsoKnownAs",
+ "@type" => "@id"
+ ],
+ "movedTo" => [
+ "@id" => "as:movedTo",
+ "@type" => "@id"
+ ],
+ "schema" => "http://schema.org#",
+ "PropertyValue" => "schema:PropertyValue",
+ "value" => "schema:value",
+ "discoverable" => "toot:discoverable",
+ "Device" => "toot:Device",
+ "Ed25519Signature" => "toot:Ed25519Signature",
+ "Ed25519Key" => "toot:Ed25519Key",
+ "Curve25519Key" => "toot:Curve25519Key",
+ "EncryptedMessage" => "toot:EncryptedMessage",
+ "publicKeyBase64" => "toot:publicKeyBase64",
+ "deviceId" => "toot:deviceId",
+ "claim" => [
+ "@type" => "@id",
+ "@id" => "toot:claim"
+ ],
+ "fingerprintKey" => [
+ "@type" => "@id",
+ "@id" => "toot:fingerprintKey"
+ ],
+ "identityKey" => [
+ "@type" => "@id",
+ "@id" => "toot:identityKey"
+ ],
+ "devices" => [
+ "@type" => "@id",
+ "@id" => "toot:devices"
+ ],
+ "messageFranking" => "toot:messageFranking",
+ "messageType" => "toot:messageType",
+ "cipherText" => "toot:cipherText",
+ "suspended" => "toot:suspended"
+ ]
+ ],
'id' => $this->permalink(),
'type' => 'Application',
'inbox' => $this->permalink('/inbox'),
diff --git a/app/Models/StatusEdit.php b/app/Models/StatusEdit.php
new file mode 100644
index 000000000..5c9ec5695
--- /dev/null
+++ b/app/Models/StatusEdit.php
@@ -0,0 +1,19 @@
+ 'array',
+ 'media_descriptions' => 'array',
+ 'poll_options' => 'array'
+ ];
+
+ protected $guarded = [];
+}
diff --git a/app/Models/UserAppSettings.php b/app/Models/UserAppSettings.php
new file mode 100644
index 000000000..aa0f7f351
--- /dev/null
+++ b/app/Models/UserAppSettings.php
@@ -0,0 +1,30 @@
+ 'json',
+ 'custom' => 'json',
+ 'common.timelines.show_public' => 'boolean',
+ 'common.timelines.show_network' => 'boolean',
+ 'common.timelines.hide_likes_shares' => 'boolean',
+ 'common.media.hide_public_behind_cw' => 'boolean',
+ 'common.media.always_show_cw' => 'boolean',
+ 'common.media.show_alt_text' => 'boolean',
+ ];
+
+ public function user()
+ {
+ return $this->belongsTo(User::class);
+ }
+}
diff --git a/app/Observers/StatusObserver.php b/app/Observers/StatusObserver.php
index 8d370b38e..e58997165 100644
--- a/app/Observers/StatusObserver.php
+++ b/app/Observers/StatusObserver.php
@@ -5,6 +5,8 @@ namespace App\Observers;
use App\Status;
use App\Services\ProfileStatusService;
use Cache;
+use App\Models\ImportPost;
+use App\Services\ImportService;
class StatusObserver
{
@@ -56,6 +58,11 @@ class StatusObserver
}
ProfileStatusService::delete($status->profile_id, $status->id);
+
+ if($status->uri == null) {
+ ImportPost::whereProfileId($status->profile_id)->whereStatusId($status->id)->delete();
+ ImportService::clearImportedFiles($status->profile_id);
+ }
}
/**
diff --git a/app/Profile.php b/app/Profile.php
index 5c8d2ccbf..69994bf5b 100644
--- a/app/Profile.php
+++ b/app/Profile.php
@@ -178,6 +178,13 @@ class Profile extends Model
return url('/storage/avatars/default.jpg');
}
+ if( $avatar->is_remote &&
+ $avatar->remote_url &&
+ boolval(config_cache('federation.avatars.store_local')) == true
+ ) {
+ return $avatar->remote_url;
+ }
+
if($path === 'public/avatars/default.jpg') {
return url('/storage/avatars/default.jpg');
}
diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php
index 9c6adc32e..0ec8c1895 100644
--- a/app/Providers/AuthServiceProvider.php
+++ b/app/Providers/AuthServiceProvider.php
@@ -24,7 +24,7 @@ class AuthServiceProvider extends ServiceProvider
*/
public function boot()
{
- if(config_cache('pixelfed.oauth_enabled') == true) {
+ if(config('app.env') === 'production' && config('pixelfed.oauth_enabled') == true) {
Passport::tokensExpireIn(now()->addDays(config('instance.oauth.token_expiration', 356)));
Passport::refreshTokensExpireIn(now()->addDays(config('instance.oauth.refresh_expiration', 400)));
Passport::enableImplicitGrant();
diff --git a/app/Services/Account/AccountAppSettingsService.php b/app/Services/Account/AccountAppSettingsService.php
new file mode 100644
index 000000000..a8107faac
--- /dev/null
+++ b/app/Services/Account/AccountAppSettingsService.php
@@ -0,0 +1,43 @@
+ [
+ // Show public timeline feed
+ 'show_public' => false,
+
+ // Show network timeline feed
+ 'show_network' => false,
+
+ // Hide likes and share counts
+ 'hide_likes_shares' => false,
+ ],
+
+ 'media' => [
+ // Hide media on Public/Network timelines behind CW
+ 'hide_public_behind_cw' => true,
+
+ // Always show media with CW
+ 'always_show_cw' => false,
+
+ // Show alt text if present below media
+ 'show_alt_text' => false,
+ ],
+
+ 'appearance' => [
+ // Use in-app browser when opening links
+ 'links_use_in_app_browser' => true,
+
+ // App theme, can be 'light', 'dark' or 'system'
+ 'theme' => 'system',
+ ]
+ ];
+ }
+}
diff --git a/app/Services/ActivityPubFetchService.php b/app/Services/ActivityPubFetchService.php
index 48cf6b0fe..d0accdcdc 100644
--- a/app/Services/ActivityPubFetchService.php
+++ b/app/Services/ActivityPubFetchService.php
@@ -19,12 +19,11 @@ class ActivityPubFetchService
$baseHeaders = [
'Accept' => 'application/activity+json, application/ld+json',
- 'User-Agent' => '(Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')'
];
- $headers = HttpSignature::instanceActorSign($url, false, $baseHeaders);
+ $headers = HttpSignature::instanceActorSign($url, false, $baseHeaders, 'get');
$headers['Accept'] = 'application/activity+json, application/ld+json';
- $headers['User-Agent'] = '(Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')';
+ $headers['User-Agent'] = 'PixelFedBot/1.0.0 (Pixelfed/'.config('pixelfed.version').'; +'.config('app.url').')';
try {
$res = Http::withHeaders($headers)
diff --git a/app/Services/AutospamService.php b/app/Services/AutospamService.php
new file mode 100644
index 000000000..6986e81e4
--- /dev/null
+++ b/app/Services/AutospamService.php
@@ -0,0 +1,78 @@
+import($model['documents'], $model['words']);
+ return $classifier->most($text) === 'spam';
+ }
+
+ public static function eligible()
+ {
+ return Cache::remember(self::CHCKD_CACHE_KEY, 86400, function() {
+ if(!config_cache('pixelfed.bouncer.enabled') || !config('autospam.enabled')) {
+ return false;
+ }
+
+ if(!Storage::exists(self::MODEL_SPAM_PATH)) {
+ return false;
+ }
+
+ if(!Storage::exists(self::MODEL_HAM_PATH)) {
+ return false;
+ }
+
+ if(!Storage::exists(self::MODEL_FILE_PATH)) {
+ return false;
+ } else {
+ if(Storage::size(self::MODEL_FILE_PATH) < 1000) {
+ return false;
+ }
+ }
+
+ return true;
+ });
+ }
+
+ public static function active()
+ {
+ return config_cache('autospam.nlp.enabled') && self::eligible();
+ }
+
+ public static function getCachedModel()
+ {
+ if(!self::active()) {
+ return null;
+ }
+
+ return Cache::remember(self::MODEL_CACHE_KEY, 86400, function() {
+ $res = Storage::get(self::MODEL_FILE_PATH);
+ if(!$res || empty($res)) {
+ return null;
+ }
+
+ return json_decode($res, true);
+ });
+ }
+}
diff --git a/app/Services/AvatarService.php b/app/Services/AvatarService.php
new file mode 100644
index 000000000..1c5e9e0c1
--- /dev/null
+++ b/app/Services/AvatarService.php
@@ -0,0 +1,23 @@
+avatarUrl();
+ }
+}
diff --git a/app/Services/ConfigCacheService.php b/app/Services/ConfigCacheService.php
index 4ffa8da6c..9da5c8adc 100644
--- a/app/Services/ConfigCacheService.php
+++ b/app/Services/ConfigCacheService.php
@@ -65,6 +65,13 @@ class ConfigCacheService
'pixelfed.directory.latest_response',
'pixelfed.directory.is_synced',
'pixelfed.directory.testimonials',
+
+ 'instance.landing.show_directory',
+ 'instance.landing.show_explore',
+ 'instance.admin.pid',
+ 'instance.banner.blurhash',
+
+ 'autospam.nlp.enabled',
// 'system.user_mode'
];
diff --git a/app/Services/HashtagService.php b/app/Services/HashtagService.php
index de58fae59..87f895a65 100644
--- a/app/Services/HashtagService.php
+++ b/app/Services/HashtagService.php
@@ -28,8 +28,8 @@ class HashtagService {
public static function count($id)
{
- return Cache::remember('services:hashtag:count:by_id:' . $id, 3600, function() use($id) {
- return StatusHashtag::whereHashtagId($id)->count();
+ return Cache::remember('services:hashtag:public-count:by_id:' . $id, 86400, function() use($id) {
+ return StatusHashtag::whereHashtagId($id)->whereStatusVisibility('public')->count();
});
}
@@ -64,4 +64,9 @@ class HashtagService {
{
return Redis::zrem(self::FOLLOW_KEY . $pid, $hid);
}
+
+ public static function following($pid, $start = 0, $limit = 10)
+ {
+ return Redis::zrevrange(self::FOLLOW_KEY . $pid, $start, $limit);
+ }
}
diff --git a/app/Services/ImportService.php b/app/Services/ImportService.php
new file mode 100644
index 000000000..4f85dabbe
--- /dev/null
+++ b/app/Services/ImportService.php
@@ -0,0 +1,114 @@
+ 999999) {
+ return;
+ }
+ if($year < 9 || $year > 23) {
+ return;
+ }
+ if($month < 1 || $month > 12) {
+ return;
+ }
+ if($day < 1 || $day > 31) {
+ return;
+ }
+ $start = 1;
+ $key = self::CACHE_KEY . 'getIdRange:incr:byUserId:' . $userId . ':y-' . $year . ':m-' . $month . ':d-' . $day;
+ $incr = Cache::increment($key, random_int(5, 19));
+ if($incr > 999) {
+ $daysInMonth = now()->parse($day . '-' . $month . '-' . $year)->daysInMonth;
+
+ if($month == 12) {
+ $year = $year + 1;
+ $month = 1;
+ $day = 0;
+ }
+
+ if($day + 1 >= $daysInMonth) {
+ $day = 1;
+ $month = $month + 1;
+ } else {
+ $day = $day + 1;
+ }
+ return self::getId($userId, $year, $month, $day);
+ }
+ $uid = str_pad($userId, 6, 0, STR_PAD_LEFT);
+ $year = str_pad($year, 2, 0, STR_PAD_LEFT);
+ $month = str_pad($month, 2, 0, STR_PAD_LEFT);
+ $day = str_pad($day, 2, 0, STR_PAD_LEFT);
+ $zone = $year . $month . $day . str_pad($incr, 3, 0, STR_PAD_LEFT);
+ return [
+ 'id' => $start . $uid . $zone,
+ 'year' => $year,
+ 'month' => $month,
+ 'day' => $day,
+ 'incr' => $incr,
+ ];
+ }
+
+ public static function getPostCount($profileId, $refresh = false)
+ {
+ $key = self::CACHE_KEY . 'totalPostCountByProfileId:' . $profileId;
+ if($refresh) {
+ Cache::forget($key);
+ }
+ return intval(Cache::remember($key, 21600, function() use($profileId) {
+ return ImportPost::whereProfileId($profileId)->whereSkipMissingMedia(false)->count();
+ }));
+ }
+
+ public static function getAttempts($profileId)
+ {
+ $key = self::CACHE_KEY . 'attemptsByProfileId:' . $profileId;
+ return intval(Cache::remember($key, 21600, function() use($profileId) {
+ return ImportPost::whereProfileId($profileId)
+ ->whereSkipMissingMedia(false)
+ ->get()
+ ->groupBy(function($item) {
+ return $item->created_at->format('Y-m-d');
+ })
+ ->count();
+ }));
+ }
+
+ public static function clearAttempts($profileId)
+ {
+ $key = self::CACHE_KEY . 'attemptsByProfileId:' . $profileId;
+ return Cache::forget($key);
+ }
+
+ public static function getImportedFiles($profileId, $refresh = false)
+ {
+ $key = self::CACHE_KEY . 'importedPostsByProfileId:' . $profileId;
+ if($refresh) {
+ Cache::forget($key);
+ }
+ return Cache::remember($key, 21600, function() use($profileId) {
+ return ImportPost::whereProfileId($profileId)
+ ->get()
+ ->filter(function($ip) {
+ return StatusService::get($ip->status_id) == null;
+ })
+ ->map(function($ip) {
+ return collect($ip->media)->map(function($m) { return $m['uri']; });
+ })->values()->flatten();
+ });
+ }
+
+ public static function clearImportedFiles($profileId)
+ {
+ $key = self::CACHE_KEY . 'importedPostsByProfileId:' . $profileId;
+ return Cache::forget($key);
+ }
+}
diff --git a/app/Services/InstanceService.php b/app/Services/InstanceService.php
index f044f1b27..1cead8d48 100644
--- a/app/Services/InstanceService.php
+++ b/app/Services/InstanceService.php
@@ -4,6 +4,8 @@ namespace App\Services;
use Cache;
use App\Instance;
+use App\Util\Blurhash\Blurhash;
+use App\Services\ConfigCacheService;
class InstanceService
{
@@ -12,6 +14,12 @@ class InstanceService
const CACHE_KEY_UNLISTED_DOMAINS = 'instances:unlisted:domains';
const CACHE_KEY_NSFW_DOMAINS = 'instances:auto_cw:domains';
const CACHE_KEY_STATS = 'pf:services:instances:stats';
+ const CACHE_KEY_BANNER_BLURHASH = 'pf:services:instance:header-blurhash:v1';
+
+ public function __construct()
+ {
+ ini_set('memory_limit', config('pixelfed.memory_limit', '1024M'));
+ }
public static function getByDomain($domain)
{
@@ -78,4 +86,50 @@ class InstanceService
return true;
}
+
+ public static function headerBlurhash()
+ {
+ return Cache::rememberForever(self::CACHE_KEY_BANNER_BLURHASH, function() {
+ if(str_ends_with(config_cache('app.banner_image'), 'headers/default.jpg')) {
+ return 'UzJR]l{wHZRjM}R%XRkCH?X9xaWEjZj]kAjt';
+ }
+ $cached = config_cache('instance.banner.blurhash');
+
+ if($cached) {
+ return $cached;
+ }
+
+ $file = config_cache('app.banner_image') ?? url(Storage::url('public/headers/default.jpg'));
+
+ $image = imagecreatefromstring(file_get_contents($file));
+ if(!$image) {
+ return 'UzJR]l{wHZRjM}R%XRkCH?X9xaWEjZj]kAjt';
+ }
+ $width = imagesx($image);
+ $height = imagesy($image);
+
+ $pixels = [];
+ for ($y = 0; $y < $height; ++$y) {
+ $row = [];
+ for ($x = 0; $x < $width; ++$x) {
+ $index = imagecolorat($image, $x, $y);
+ $colors = imagecolorsforindex($image, $index);
+
+ $row[] = [$colors['red'], $colors['green'], $colors['blue']];
+ }
+ $pixels[] = $row;
+ }
+
+ $components_x = 4;
+ $components_y = 4;
+ $blurhash = Blurhash::encode($pixels, $components_x, $components_y);
+ if(strlen($blurhash) > 191) {
+ return 'UzJR]l{wHZRjM}R%XRkCH?X9xaWEjZj]kAjt';
+ }
+
+ ConfigCacheService::put('instance.banner.blurhash', $blurhash);
+
+ return $blurhash;
+ });
+ }
}
diff --git a/app/Services/LandingService.php b/app/Services/LandingService.php
index f0af2ddf8..2a5acda07 100644
--- a/app/Services/LandingService.php
+++ b/app/Services/LandingService.php
@@ -30,6 +30,9 @@ class LandingService
});
$contactAccount = Cache::remember('api:v1:instance-data:contact', 604800, function () {
+ if(config_cache('instance.admin.pid')) {
+ return AccountService::getMastodon(config_cache('instance.admin.pid'), true);
+ }
$admin = User::whereIsAdmin(true)->first();
return $admin && isset($admin->profile_id) ?
AccountService::getMastodon($admin->profile_id, true) :
@@ -53,8 +56,8 @@ class LandingService
'name' => config_cache('app.name'),
'url' => config_cache('app.url'),
'domain' => config('pixelfed.domain.app'),
- 'show_directory' => config('instance.landing.show_directory'),
- 'show_explore_feed' => config('instance.landing.show_explore'),
+ 'show_directory' => config_cache('instance.landing.show_directory'),
+ 'show_explore_feed' => config_cache('instance.landing.show_explore'),
'open_registration' => config_cache('pixelfed.open_registration') == 1,
'version' => config('pixelfed.version'),
'about' => [
diff --git a/app/Services/LikeService.php b/app/Services/LikeService.php
index bc6b876ae..34a2417d0 100644
--- a/app/Services/LikeService.php
+++ b/app/Services/LikeService.php
@@ -85,7 +85,10 @@ class LikeService {
return $empty;
}
$id = $like->profile_id;
- $profile = ProfileService::get($id);
+ $profile = ProfileService::get($id, true);
+ if(!$profile) {
+ return [];
+ }
$profileUrl = "/i/web/profile/{$profile['id']}";
$res = [
'id' => (string) $profile['id'],
diff --git a/app/Services/MediaStorageService.php b/app/Services/MediaStorageService.php
index 44bf9a6ed..fd70e3a0f 100644
--- a/app/Services/MediaStorageService.php
+++ b/app/Services/MediaStorageService.php
@@ -77,7 +77,9 @@ class MediaStorageService {
protected function cloudStore($media)
{
if($media->remote_media == true) {
- (new self())->remoteToCloud($media);
+ if(config('media.storage.remote.cloud')) {
+ (new self())->remoteToCloud($media);
+ }
} else {
(new self())->localToCloud($media);
}
@@ -189,7 +191,7 @@ class MediaStorageService {
unlink($tmpName);
}
- protected function fetchAvatar($avatar, $local = false)
+ protected function fetchAvatar($avatar, $local = false, $skipRecentCheck = false)
{
$url = $avatar->remote_url;
$driver = $local ? 'local' : config('filesystems.cloud');
@@ -213,10 +215,15 @@ class MediaStorageService {
$mime = $head['mime'];
$max_size = (int) config('pixelfed.max_avatar_size') * 1000;
- if($avatar->last_fetched_at && $avatar->last_fetched_at->gt(now()->subDay())) {
- return;
+ if(!$skipRecentCheck) {
+ if($avatar->last_fetched_at && $avatar->last_fetched_at->gt(now()->subDay())) {
+ return;
+ }
}
+ Cache::forget('avatar:' . $avatar->profile_id);
+ AccountService::del($avatar->profile_id);
+
// handle pleroma edge case
if(Str::endsWith($mime, '; charset=utf-8')) {
$mime = str_replace('; charset=utf-8', '', $mime);
@@ -264,7 +271,7 @@ class MediaStorageService {
$avatar->save();
Cache::forget('avatar:' . $avatar->profile_id);
- Cache::forget(AccountService::CACHE_KEY . $avatar->profile_id);
+ AccountService::del($avatar->profile_id);
unlink($tmpName);
}
diff --git a/app/Services/MediaTagService.php b/app/Services/MediaTagService.php
index d2457b39d..e974d258c 100644
--- a/app/Services/MediaTagService.php
+++ b/app/Services/MediaTagService.php
@@ -57,7 +57,7 @@ class MediaTagService
protected function idToUsername($id)
{
- $profile = ProfileService::get($id);
+ $profile = ProfileService::get($id, true);
if(!$profile) {
return 'unavailable';
@@ -74,16 +74,13 @@ class MediaTagService
{
$p = $tag->status->profile;
$actor = $p->username;
- $message = "{$actor} tagged you in a post.";
- $rendered = "{$actor} tagged you in a post.";
+
$n = new Notification;
$n->profile_id = $tag->profile_id;
$n->actor_id = $p->id;
$n->item_id = $tag->id;
$n->item_type = 'App\MediaTag';
$n->action = 'tagged';
- $n->message = $message;
- $n->rendered = $rendered;
$n->save();
return;
}
diff --git a/app/Services/ModLogService.php b/app/Services/ModLogService.php
index e8e44465f..2f4674610 100644
--- a/app/Services/ModLogService.php
+++ b/app/Services/ModLogService.php
@@ -108,8 +108,6 @@ class ModLogService {
{
$log = $this->log;
- $msg = "{$log->user_username} commented on a modlog";
- $rendered = "{$log->user_username} commented on a modlog ";
$item_id = $log->id;
$item_type = 'App\ModLog';
$action = 'admin.user.modlog.comment';
@@ -127,8 +125,6 @@ class ModLogService {
$n->item_id = $item_id;
$n->item_type = $item_type;
$n->action = $action;
- $n->message = $msg;
- $n->rendered = $rendered;
$n->save();
}
}
@@ -139,4 +135,4 @@ class ModLogService {
->whereItemId($this->log->id)
->delete();
}
-}
\ No newline at end of file
+}
diff --git a/app/Services/NetworkTimelineService.php b/app/Services/NetworkTimelineService.php
index 52fc9b0bd..570899017 100644
--- a/app/Services/NetworkTimelineService.php
+++ b/app/Services/NetworkTimelineService.php
@@ -72,6 +72,26 @@ class NetworkTimelineService
return Redis::zcard(self::CACHE_KEY);
}
+ public static function deleteByProfileId($profileId)
+ {
+ $res = Redis::zrange(self::CACHE_KEY, 0, '-1');
+ if(!$res) {
+ return;
+ }
+ foreach($res as $postId) {
+ $s = StatusService::get($postId);
+ if(!$s) {
+ self::rem($postId);
+ continue;
+ }
+ if($s['account']['id'] == $profileId) {
+ self::rem($postId);
+ }
+ }
+
+ return;
+ }
+
public static function warmCache($force = false, $limit = 100)
{
if(self::count() == 0 || $force == true) {
diff --git a/app/Services/ProfileService.php b/app/Services/ProfileService.php
index 43f2ff0e4..abc50d84a 100644
--- a/app/Services/ProfileService.php
+++ b/app/Services/ProfileService.php
@@ -4,9 +4,9 @@ namespace App\Services;
class ProfileService
{
- public static function get($id)
+ public static function get($id, $softFail = false)
{
- return AccountService::get($id);
+ return AccountService::get($id, $softFail);
}
public static function del($id)
diff --git a/app/Services/PublicTimelineService.php b/app/Services/PublicTimelineService.php
index 75317aa80..e1275065c 100644
--- a/app/Services/PublicTimelineService.php
+++ b/app/Services/PublicTimelineService.php
@@ -72,17 +72,37 @@ class PublicTimelineService {
return Redis::zcard(self::CACHE_KEY);
}
+ public static function deleteByProfileId($profileId)
+ {
+ $res = Redis::zrange(self::CACHE_KEY, 0, '-1');
+ if(!$res) {
+ return;
+ }
+ foreach($res as $postId) {
+ $s = StatusService::get($postId);
+ if(!$s) {
+ self::rem($postId);
+ continue;
+ }
+ if($s['account']['id'] == $profileId) {
+ self::rem($postId);
+ }
+ }
+
+ return;
+ }
+
public static function warmCache($force = false, $limit = 100)
{
if(self::count() == 0 || $force == true) {
$hideNsfw = config('instance.hide_nsfw_on_public_feeds');
Redis::del(self::CACHE_KEY);
- $ids = Status::whereNull('uri')
- ->whereNull('in_reply_to_id')
+ $minId = SnowflakeService::byDate(now()->subDays(14));
+ $ids = Status::where('id', '>', $minId)
+ ->whereNull(['uri', 'in_reply_to_id', 'reblog_of_id'])
->when($hideNsfw, function($q, $hideNsfw) {
return $q->where('is_nsfw', false);
})
- ->whereNull('reblog_of_id')
->whereIn('type', ['photo', 'photo:album', 'video', 'video:album', 'photo:video:album'])
->whereScope('public')
->orderByDesc('id')
diff --git a/app/Services/RelationshipService.php b/app/Services/RelationshipService.php
index a00e6e085..3c6d2818f 100644
--- a/app/Services/RelationshipService.php
+++ b/app/Services/RelationshipService.php
@@ -52,6 +52,7 @@ class RelationshipService
public static function delete($aid, $tid)
{
+ Cache::forget(self::key("wd:a_{$aid}:t_{$tid}"));
return Cache::forget(self::key("a_{$aid}:t_{$tid}"));
}
@@ -85,4 +86,24 @@ class RelationshipService
{
return self::CACHE_KEY . $suffix;
}
+
+ public static function getWithDate($aid, $tid)
+ {
+ $res = self::get($aid, $tid);
+
+ if(!$res || !$res['following']) {
+ $res['following_since'] = null;
+ return $res;
+ }
+
+ return Cache::remember(self::key("wd:a_{$aid}:t_{$tid}"), 1209600, function() use($aid, $tid, $res) {
+ $tmp = Follower::whereProfileId($aid)->whereFollowingId($tid)->first();
+ if(!$tmp) {
+ $res['following_since'] = null;
+ return $res;
+ }
+ $res['following_since'] = str_replace('+00:00', 'Z', $tmp->created_at->format(DATE_RFC3339_EXTENDED));
+ return $res;
+ });
+ }
}
diff --git a/app/Services/SearchApiV2Service.php b/app/Services/SearchApiV2Service.php
index 93a29cae9..465bd98a4 100644
--- a/app/Services/SearchApiV2Service.php
+++ b/app/Services/SearchApiV2Service.php
@@ -96,9 +96,10 @@ class SearchApiV2Service
$webfingerQuery = '@' . $webfingerQuery;
}
$banned = InstanceService::getBannedDomains();
+ $operator = config('database.default') === 'pgsql' ? 'ilike' : 'like';
$results = Profile::select('username', 'id', 'followers_count', 'domain')
- ->where('username', 'like', $query)
- ->orWhere('webfinger', 'like', $webfingerQuery)
+ ->where('username', $operator, $query)
+ ->orWhere('webfinger', $operator, $webfingerQuery)
->orderByDesc('profiles.followers_count')
->offset($offset)
->limit($limit)
@@ -160,23 +161,8 @@ class SearchApiV2Service
protected function statusesById()
{
- $mastodonMode = self::$mastodonMode;
- $accountId = $this->query->input('account_id');
- $limit = $this->query->input('limit', 20);
- $query = '%' . $this->query->input('q') . '%';
- $results = Status::where('caption', 'like', $query)
- ->whereProfileId($accountId)
- ->limit($limit)
- ->get()
- ->map(function($status) use($mastodonMode) {
- return $mastodonMode ?
- StatusService::getMastodon($status->id) :
- StatusService::get($status->id);
- })
- ->filter(function($status) {
- return $status && isset($status['account']);
- });
- return $results;
+ // Removed until we provide more relevent sorting/results
+ return [];
}
protected function resolveQuery()
diff --git a/app/Services/Status/UpdateStatusService.php b/app/Services/Status/UpdateStatusService.php
new file mode 100644
index 000000000..d0a69c451
--- /dev/null
+++ b/app/Services/Status/UpdateStatusService.php
@@ -0,0 +1,137 @@
+id);
+ }
+
+ public static function updateMediaAttachements(Status $status, $attributes)
+ {
+ $count = $status->media()->count();
+ if($count === 0 || $count === 1) {
+ return;
+ }
+
+ $oids = $status->media()->orderBy('order')->pluck('id')->map(function($m) { return (string) $m; });
+ $nids = collect($attributes['media_ids']);
+
+ if($oids->toArray() === $nids->toArray()) {
+ return;
+ }
+
+ foreach($oids->diff($nids)->values()->toArray() as $mid) {
+ $media = Media::find($mid);
+ if(!$media) {
+ continue;
+ }
+ $media->status_id = null;
+ $media->save();
+ MediaStorageService::delete($media, true);
+ }
+
+ $nids->each(function($nid, $idx) {
+ $media = Media::find($nid);
+ if(!$media) {
+ return;
+ }
+ $media->order = $idx;
+ $media->save();
+ });
+ MediaService::del($status->id);
+ }
+
+ public static function handleImmediateAttributes(Status $status, $attributes)
+ {
+ if(isset($attributes['status'])) {
+ $cleaned = Purify::clean($attributes['status']);
+ $status->caption = $cleaned;
+ $status->rendered = nl2br(Autolink::create()->autolink($cleaned));
+ } else {
+ $status->caption = null;
+ $status->rendered = null;
+ }
+ if(isset($attributes['sensitive'])) {
+ if($status->is_nsfw != (bool) $attributes['sensitive'] &&
+ (bool) $attributes['sensitive'] == false)
+ {
+ $exists = ModLog::whereObjectType('App\Status::class')
+ ->whereObjectId($status->id)
+ ->whereAction('admin.status.moderate')
+ ->exists();
+ if(!$exists) {
+ $status->is_nsfw = (bool) $attributes['sensitive'];
+ }
+ } else {
+ $status->is_nsfw = (bool) $attributes['sensitive'];
+ }
+ }
+ if(isset($attributes['spoiler_text'])) {
+ $status->cw_summary = Purify::clean($attributes['spoiler_text']);
+ } else {
+ $status->cw_summary = null;
+ }
+ if(isset($attributes['location'])) {
+ if (isset($attributes['location']['id'])) {
+ $status->place_id = $attributes['location']['id'];
+ } else {
+ $status->place_id = null;
+ }
+ }
+ if($status->cw_summary && !$status->is_nsfw) {
+ $status->cw_summary = null;
+ }
+ $status->edited_at = now();
+ $status->save();
+ StatusService::del($status->id);
+ }
+
+ public static function createPreviousEdit(Status $status)
+ {
+ if(!$status->edits()->count()) {
+ StatusEdit::create([
+ 'status_id' => $status->id,
+ 'profile_id' => $status->profile_id,
+ 'caption' => $status->caption,
+ 'spoiler_text' => $status->cw_summary,
+ 'is_nsfw' => $status->is_nsfw,
+ 'ordered_media_attachment_ids' => $status->media()->orderBy('order')->pluck('id')->toArray(),
+ 'created_at' => $status->created_at
+ ]);
+ }
+ }
+
+ public static function createEdit(Status $status, $attributes)
+ {
+ $cleaned = isset($attributes['status']) ? Purify::clean($attributes['status']) : null;
+ $spoiler_text = isset($attributes['spoiler_text']) ? Purify::clean($attributes['spoiler_text']) : null;
+ $sensitive = isset($attributes['sensitive']) ? $attributes['sensitive'] : null;
+ $mids = $status->media()->count() ? $status->media()->orderBy('order')->pluck('id')->toArray() : null;
+ StatusEdit::create([
+ 'status_id' => $status->id,
+ 'profile_id' => $status->profile_id,
+ 'caption' => $cleaned,
+ 'spoiler_text' => $spoiler_text,
+ 'is_nsfw' => $sensitive,
+ 'ordered_media_attachment_ids' => $mids
+ ]);
+ }
+}
diff --git a/app/Services/StatusService.php b/app/Services/StatusService.php
index 2b3bca274..99bcee2b0 100644
--- a/app/Services/StatusService.php
+++ b/app/Services/StatusService.php
@@ -47,6 +47,10 @@ class StatusService
return null;
}
+ if(!isset($status['account'])) {
+ return null;
+ }
+
$status['replies_count'] = $status['reply_count'];
if(config('exp.emc') == false) {
@@ -117,6 +121,9 @@ class StatusService
public static function getFull($id, $pid, $publicOnly = true)
{
$res = self::get($id, $publicOnly);
+ if(!$res || !isset($res['account']) || !isset($res['account']['id'])) {
+ return $res;
+ }
$res['relationship'] = RelationshipService::get($pid, $res['account']['id']);
return $res;
}
diff --git a/app/Services/StoryService.php b/app/Services/StoryService.php
index 6c1d95b8e..811837614 100644
--- a/app/Services/StoryService.php
+++ b/app/Services/StoryService.php
@@ -95,7 +95,8 @@ class StoryService
public static function delLatest($pid)
{
- return Cache::forget(self::STORY_KEY . 'latest:pid-' . $pid);
+ Cache::forget(self::STORY_KEY . 'latest:pid-' . $pid);
+ return Cache::forget('pf:stories:recent-self:' . $pid);
}
public static function addSeen($pid, $sid)
diff --git a/app/Status.php b/app/Status.php
index ae4ea299d..77262597e 100644
--- a/app/Status.php
+++ b/app/Status.php
@@ -9,6 +9,7 @@ use App\Http\Controllers\StatusController;
use Illuminate\Database\Eloquent\SoftDeletes;
use App\Models\Poll;
use App\Services\AccountService;
+use App\Models\StatusEdit;
class Status extends Model
{
@@ -27,7 +28,8 @@ class Status extends Model
* @var array
*/
protected $casts = [
- 'deleted_at' => 'datetime'
+ 'deleted_at' => 'datetime',
+ 'edited_at' => 'datetime'
];
protected $guarded = [];
@@ -48,11 +50,11 @@ class Status extends Model
'loop'
];
- const MAX_MENTIONS = 5;
+ const MAX_MENTIONS = 20;
- const MAX_HASHTAGS = 30;
+ const MAX_HASHTAGS = 60;
- const MAX_LINKS = 2;
+ const MAX_LINKS = 5;
public function profile()
{
@@ -285,38 +287,6 @@ class Status extends Model
return $obj;
}
- public function replyToText()
- {
- $actorName = $this->profile->username;
-
- return "{$actorName} ".__('notification.commented');
- }
-
- public function replyToHtml()
- {
- $actorName = $this->profile->username;
- $actorUrl = $this->profile->url();
-
- return "{$actorName} ".
- __('notification.commented');
- }
-
- public function shareToText()
- {
- $actorName = $this->profile->username;
-
- return "{$actorName} ".__('notification.shared');
- }
-
- public function shareToHtml()
- {
- $actorName = $this->profile->username;
- $actorUrl = $this->profile->url();
-
- return "{$actorName} ".
- __('notification.shared');
- }
-
public function recentComments()
{
return $this->comments()->orderBy('created_at', 'desc')->take(3);
@@ -425,4 +395,9 @@ class Status extends Model
{
return $this->hasOne(Poll::class);
}
+
+ public function edits()
+ {
+ return $this->hasMany(StatusEdit::class);
+ }
}
diff --git a/app/Transformer/ActivityPub/Verb/UpdateNote.php b/app/Transformer/ActivityPub/Verb/UpdateNote.php
new file mode 100644
index 000000000..bdbb20c45
--- /dev/null
+++ b/app/Transformer/ActivityPub/Verb/UpdateNote.php
@@ -0,0 +1,133 @@
+mentions->map(function ($mention) {
+ $webfinger = $mention->emailUrl();
+ $name = Str::startsWith($webfinger, '@') ?
+ $webfinger :
+ '@' . $webfinger;
+ return [
+ 'type' => 'Mention',
+ 'href' => $mention->permalink(),
+ 'name' => $name
+ ];
+ })->toArray();
+
+ if($status->in_reply_to_id != null) {
+ $parent = $status->parent()->profile;
+ if($parent) {
+ $webfinger = $parent->emailUrl();
+ $name = Str::startsWith($webfinger, '@') ?
+ $webfinger :
+ '@' . $webfinger;
+ $reply = [
+ 'type' => 'Mention',
+ 'href' => $parent->permalink(),
+ 'name' => $name
+ ];
+ $mentions = array_merge($reply, $mentions);
+ }
+ }
+
+ $hashtags = $status->hashtags->map(function ($hashtag) {
+ return [
+ 'type' => 'Hashtag',
+ 'href' => $hashtag->url(),
+ 'name' => "#{$hashtag->name}",
+ ];
+ })->toArray();
+
+ $emojis = CustomEmoji::scan($status->caption, true) ?? [];
+ $emoji = array_merge($emojis, $mentions);
+ $tags = array_merge($emoji, $hashtags);
+
+ $latestEdit = $status->edits()->latest()->first();
+
+ return [
+ '@context' => [
+ 'https://w3id.org/security/v1',
+ 'https://www.w3.org/ns/activitystreams',
+ [
+ 'Hashtag' => 'as:Hashtag',
+ 'sensitive' => 'as:sensitive',
+ 'schema' => 'http://schema.org/',
+ 'pixelfed' => 'http://pixelfed.org/ns#',
+ 'commentsEnabled' => [
+ '@id' => 'pixelfed:commentsEnabled',
+ '@type' => 'schema:Boolean'
+ ],
+ 'capabilities' => [
+ '@id' => 'pixelfed:capabilities',
+ '@container' => '@set'
+ ],
+ 'announce' => [
+ '@id' => 'pixelfed:canAnnounce',
+ '@type' => '@id'
+ ],
+ 'like' => [
+ '@id' => 'pixelfed:canLike',
+ '@type' => '@id'
+ ],
+ 'reply' => [
+ '@id' => 'pixelfed:canReply',
+ '@type' => '@id'
+ ],
+ 'toot' => 'http://joinmastodon.org/ns#',
+ 'Emoji' => 'toot:Emoji'
+ ]
+ ],
+ 'id' => $status->permalink('#updates/' . $latestEdit->id),
+ 'type' => 'Update',
+ 'actor' => $status->profile->permalink(),
+ 'published' => $latestEdit->created_at->toAtomString(),
+ 'to' => $status->scopeToAudience('to'),
+ 'cc' => $status->scopeToAudience('cc'),
+ 'object' => [
+ 'id' => $status->url(),
+ 'type' => 'Note',
+ 'summary' => $status->is_nsfw ? $status->cw_summary : null,
+ 'content' => $status->rendered ?? $status->caption,
+ 'inReplyTo' => $status->in_reply_to_id ? $status->parent()->url() : null,
+ 'published' => $status->created_at->toAtomString(),
+ 'url' => $status->url(),
+ 'attributedTo' => $status->profile->permalink(),
+ 'to' => $status->scopeToAudience('to'),
+ 'cc' => $status->scopeToAudience('cc'),
+ 'sensitive' => (bool) $status->is_nsfw,
+ 'attachment' => $status->media()->orderBy('order')->get()->map(function ($media) {
+ return [
+ 'type' => $media->activityVerb(),
+ 'mediaType' => $media->mime,
+ 'url' => $media->url(),
+ 'name' => $media->caption,
+ ];
+ })->toArray(),
+ 'tag' => $tags,
+ 'commentsEnabled' => (bool) !$status->comments_disabled,
+ 'updated' => $latestEdit->created_at->toAtomString(),
+ 'capabilities' => [
+ 'announce' => 'https://www.w3.org/ns/activitystreams#Public',
+ 'like' => 'https://www.w3.org/ns/activitystreams#Public',
+ 'reply' => $status->comments_disabled == true ? '[]' : 'https://www.w3.org/ns/activitystreams#Public'
+ ],
+ 'location' => $status->place_id ? [
+ 'type' => 'Place',
+ 'name' => $status->place->name,
+ 'longitude' => $status->place->long,
+ 'latitude' => $status->place->lat,
+ 'country' => $status->place->country
+ ] : null,
+ ]
+ ];
+ }
+}
diff --git a/app/Transformer/Api/Mastodon/v1/StatusTransformer.php b/app/Transformer/Api/Mastodon/v1/StatusTransformer.php
index 3467654af..bfbc3d58b 100644
--- a/app/Transformer/Api/Mastodon/v1/StatusTransformer.php
+++ b/app/Transformer/Api/Mastodon/v1/StatusTransformer.php
@@ -42,7 +42,7 @@ class StatusTransformer extends Fractal\TransformerAbstract
'card' => null,
'poll' => null,
'media_attachments' => MediaService::get($status->id),
- 'account' => ProfileService::get($status->profile_id),
+ 'account' => ProfileService::get($status->profile_id, true),
'tags' => StatusHashtagService::statusTags($status->id),
];
}
diff --git a/app/Transformer/Api/NotificationTransformer.php b/app/Transformer/Api/NotificationTransformer.php
index d4f84bbef..837c027af 100644
--- a/app/Transformer/Api/NotificationTransformer.php
+++ b/app/Transformer/Api/NotificationTransformer.php
@@ -23,7 +23,9 @@ class NotificationTransformer extends Fractal\TransformerAbstract
if($n->actor_id) {
$res['account'] = AccountService::get($n->actor_id);
- $res['relationship'] = RelationshipService::get($n->actor_id, $n->profile_id);
+ if($n->profile_id != $n->actor_id) {
+ $res['relationship'] = RelationshipService::get($n->actor_id, $n->profile_id);
+ }
}
if($n->item_id && $n->item_type == 'App\Status') {
@@ -66,11 +68,8 @@ class NotificationTransformer extends Fractal\TransformerAbstract
'comment' => 'comment',
'admin.user.modlog.comment' => 'modlog',
'tagged' => 'tagged',
- 'group:comment' => 'group:comment',
'story:react' => 'story:react',
'story:comment' => 'story:comment',
- 'group:join:approved' => 'group:join:approved',
- 'group:join:rejected' => 'group:join:rejected'
];
if(!isset($verbs[$verb])) {
diff --git a/app/Transformer/Api/StatusStatelessTransformer.php b/app/Transformer/Api/StatusStatelessTransformer.php
index 38a3fedf8..2ed381c1a 100644
--- a/app/Transformer/Api/StatusStatelessTransformer.php
+++ b/app/Transformer/Api/StatusStatelessTransformer.php
@@ -10,6 +10,7 @@ use App\Services\HashidService;
use App\Services\LikeService;
use App\Services\MediaService;
use App\Services\MediaTagService;
+use App\Services\StatusService;
use App\Services\StatusHashtagService;
use App\Services\StatusLabelService;
use App\Services\StatusMentionService;
@@ -32,7 +33,7 @@ class StatusStatelessTransformer extends Fractal\TransformerAbstract
'url' => $status->url(),
'in_reply_to_id' => $status->in_reply_to_id ? (string) $status->in_reply_to_id : null,
'in_reply_to_account_id' => $status->in_reply_to_profile_id ? (string) $status->in_reply_to_profile_id : null,
- 'reblog' => null,
+ 'reblog' => $status->reblog_of_id ? StatusService::get($status->reblog_of_id) : null,
'content' => $status->rendered ?? $status->caption,
'content_text' => $status->caption,
'created_at' => str_replace('+00:00', 'Z', $status->created_at->format(DATE_RFC3339_EXTENDED)),
@@ -65,7 +66,8 @@ class StatusStatelessTransformer extends Fractal\TransformerAbstract
'media_attachments' => MediaService::get($status->id),
'account' => AccountService::get($status->profile_id, true),
'tags' => StatusHashtagService::statusTags($status->id),
- 'poll' => $poll
+ 'poll' => $poll,
+ 'edited_at' => $status->edited_at ? str_replace('+00:00', 'Z', $status->edited_at->format(DATE_RFC3339_EXTENDED)) : null,
];
}
}
diff --git a/app/Transformer/Api/StatusTransformer.php b/app/Transformer/Api/StatusTransformer.php
index c44257f81..d04b025f8 100644
--- a/app/Transformer/Api/StatusTransformer.php
+++ b/app/Transformer/Api/StatusTransformer.php
@@ -10,6 +10,7 @@ use App\Services\HashidService;
use App\Services\LikeService;
use App\Services\MediaService;
use App\Services\MediaTagService;
+use App\Services\StatusService;
use App\Services\StatusHashtagService;
use App\Services\StatusLabelService;
use App\Services\StatusMentionService;
@@ -35,7 +36,7 @@ class StatusTransformer extends Fractal\TransformerAbstract
'url' => $status->url(),
'in_reply_to_id' => (string) $status->in_reply_to_id,
'in_reply_to_account_id' => (string) $status->in_reply_to_profile_id,
- 'reblog' => null,
+ 'reblog' => $status->reblog_of_id ? StatusService::get($status->reblog_of_id) : null,
'content' => $status->rendered ?? $status->caption,
'content_text' => $status->caption,
'created_at' => str_replace('+00:00', 'Z', $status->created_at->format(DATE_RFC3339_EXTENDED)),
@@ -66,10 +67,11 @@ class StatusTransformer extends Fractal\TransformerAbstract
'label' => StatusLabelService::get($status),
'liked_by' => LikeService::likedBy($status),
'media_attachments' => MediaService::get($status->id),
- 'account' => ProfileService::get($status->profile_id),
+ 'account' => ProfileService::get($status->profile_id, true),
'tags' => StatusHashtagService::statusTags($status->id),
'poll' => $poll,
'bookmarked' => BookmarkService::get($pid, $status->id),
+ 'edited_at' => $status->edited_at ? str_replace('+00:00', 'Z', $status->edited_at->format(DATE_RFC3339_EXTENDED)) : null,
];
}
}
diff --git a/app/User.php b/app/User.php
index 980548d6d..3f826c143 100644
--- a/app/User.php
+++ b/app/User.php
@@ -7,6 +7,7 @@ use Illuminate\Notifications\Notifiable;
use Illuminate\Database\Eloquent\SoftDeletes;
use Illuminate\Foundation\Auth\User as Authenticatable;
use App\Util\RateLimit\User as UserRateLimit;
+use App\Services\AvatarService;
class User extends Authenticatable
{
@@ -97,4 +98,13 @@ class User extends Authenticatable
return $this->hasMany(AccountInterstitial::class);
}
+ public function avatarUrl()
+ {
+ if(!$this->profile_id || $this->status) {
+ return config('app.url') . '/storage/avatars/default.jpg';
+ }
+
+ return AvatarService::get($this->profile_id);
+ }
+
}
diff --git a/app/Util/ActivityPub/Helpers.php b/app/Util/ActivityPub/Helpers.php
index 66e75c8fa..a61e1d572 100644
--- a/app/Util/ActivityPub/Helpers.php
+++ b/app/Util/ActivityPub/Helpers.php
@@ -308,7 +308,7 @@ class Helpers {
$res = self::fetchFromUrl($url);
- if(!$res || empty($res) || isset($res['error']) || !isset($res['@context']) ) {
+ if(!$res || empty($res) || isset($res['error']) || !isset($res['@context']) || !isset($res['published']) ) {
return;
}
@@ -479,8 +479,8 @@ class Helpers {
'profile_id' => $pid,
'url' => $url,
'object_url' => $id,
- 'caption' => strip_tags($activity['content']),
- 'rendered' => Purify::clean($activity['content']),
+ 'caption' => isset($activity['content']) ? Purify::clean(strip_tags($activity['content'])) : null,
+ 'rendered' => isset($activity['content']) ? Purify::clean($activity['content']) : null,
'created_at' => Carbon::parse($ts)->tz('UTC'),
'in_reply_to_id' => $reply_to,
'local' => false,
diff --git a/app/Util/ActivityPub/HttpSignature.php b/app/Util/ActivityPub/HttpSignature.php
index 835c855c1..5bfdcac09 100644
--- a/app/Util/ActivityPub/HttpSignature.php
+++ b/app/Util/ActivityPub/HttpSignature.php
@@ -33,7 +33,7 @@ class HttpSignature {
return self::_headersToCurlArray($headers);
}
- public static function instanceActorSign($url, $body = false, $addlHeaders = [])
+ public static function instanceActorSign($url, $body = false, $addlHeaders = [], $method = 'post')
{
$keyId = config('app.url') . '/i/actor#main-key';
$privateKey = Cache::rememberForever(InstanceActor::PKI_PRIVATE, function() {
@@ -42,7 +42,7 @@ class HttpSignature {
if($body) {
$digest = self::_digest($body);
}
- $headers = self::_headersToSign($url, $body ? $digest : false);
+ $headers = self::_headersToSign($url, $body ? $digest : false, $method);
$headers = array_merge($headers, $addlHeaders);
$stringToSign = self::_headersToSigningString($headers);
$signedHeaders = implode(' ', array_map('strtolower', array_keys($headers)));
@@ -125,11 +125,14 @@ class HttpSignature {
return base64_encode(hash('sha256', $body, true));
}
- protected static function _headersToSign($url, $digest = false) {
+ protected static function _headersToSign($url, $digest = false, $method = 'post') {
$date = new DateTime('UTC');
+ if(!in_array($method, ['post', 'get'])) {
+ throw new \Exception('Invalid method used to sign headers in HttpSignature');
+ }
$headers = [
- '(request-target)' => 'post '.parse_url($url, PHP_URL_PATH),
+ '(request-target)' => $method . ' '.parse_url($url, PHP_URL_PATH),
'Host' => parse_url($url, PHP_URL_HOST),
'Date' => $date->format('D, d M Y H:i:s \G\M\T'),
];
diff --git a/app/Util/ActivityPub/Inbox.php b/app/Util/ActivityPub/Inbox.php
index a852e75cc..0caf8f25d 100644
--- a/app/Util/ActivityPub/Inbox.php
+++ b/app/Util/ActivityPub/Inbox.php
@@ -28,6 +28,8 @@ use App\Jobs\DeletePipeline\DeleteRemoteProfilePipeline;
use App\Jobs\DeletePipeline\DeleteRemoteStatusPipeline;
use App\Jobs\StoryPipeline\StoryExpire;
use App\Jobs\StoryPipeline\StoryFetch;
+use App\Jobs\StatusPipeline\StatusRemoteUpdatePipeline;
+use App\Jobs\ProfilePipeline\HandleUpdateActivity;
use App\Util\ActivityPub\Validator\Accept as AcceptValidator;
use App\Util\ActivityPub\Validator\Add as AddValidator;
@@ -35,6 +37,7 @@ use App\Util\ActivityPub\Validator\Announce as AnnounceValidator;
use App\Util\ActivityPub\Validator\Follow as FollowValidator;
use App\Util\ActivityPub\Validator\Like as LikeValidator;
use App\Util\ActivityPub\Validator\UndoFollow as UndoFollowValidator;
+use App\Util\ActivityPub\Validator\UpdatePersonValidator;
use App\Services\PollService;
use App\Services\FollowerService;
@@ -128,9 +131,9 @@ class Inbox
$this->handleFlagActivity();
break;
- // case 'Update':
- // (new UpdateActivity($this->payload, $this->profile))->handle();
- // break;
+ case 'Update':
+ $this->handleUpdateActivity();
+ break;
default:
// TODO: decide how to handle invalid verbs.
@@ -483,8 +486,6 @@ class Inbox
$notification->profile_id = $profile->id;
$notification->actor_id = $actor->id;
$notification->action = 'dm';
- $notification->message = $dm->toText();
- $notification->rendered = $dm->toHtml();
$notification->item_id = $dm->id;
$notification->item_type = "App\DirectMessage";
$notification->save();
@@ -594,9 +595,6 @@ class Inbox
'action' => 'share',
'item_id' => $parent->id,
'item_type' => 'App\Status',
- ], [
- 'message' => $status->replyToText(),
- 'rendered' => $status->replyToHtml(),
]
);
@@ -703,7 +701,7 @@ class Inbox
return;
}
$status = Status::whereProfileId($profile->id)
- ->whereUri($id)
+ ->whereObjectUrl($id)
->first();
if(!$status) {
return;
@@ -1023,8 +1021,6 @@ class Inbox
$n->item_id = $dm->id;
$n->item_type = 'App\DirectMessage';
$n->action = 'story:react';
- $n->message = "{$actorProfile->username} reacted to your story";
- $n->rendered = "{$actorProfile->username} reacted to your story";
$n->save();
return;
@@ -1134,8 +1130,6 @@ class Inbox
$n->item_id = $dm->id;
$n->item_type = 'App\DirectMessage';
$n->action = 'story:comment';
- $n->message = "{$actorProfile->username} commented on story";
- $n->rendered = "{$actorProfile->username} commented on story";
$n->save();
return;
@@ -1216,4 +1210,27 @@ class Inbox
return;
}
+
+ public function handleUpdateActivity()
+ {
+ $activity = $this->payload['object'];
+
+ if(!isset($activity['type'], $activity['id'])) {
+ return;
+ }
+
+ if(!Helpers::validateUrl($activity['id'])) {
+ return;
+ }
+
+ if($activity['type'] === 'Note') {
+ if(Status::whereObjectUrl($activity['id'])->exists()) {
+ StatusRemoteUpdatePipeline::dispatch($activity);
+ }
+ } else if ($activity['type'] === 'Person') {
+ if(UpdatePersonValidator::validate($this->payload)) {
+ HandleUpdateActivity::dispatch($this->payload)->onQueue('low');
+ }
+ }
+ }
}
diff --git a/app/Util/ActivityPub/Validator/UpdatePersonValidator.php b/app/Util/ActivityPub/Validator/UpdatePersonValidator.php
new file mode 100644
index 000000000..b8819d8fd
--- /dev/null
+++ b/app/Util/ActivityPub/Validator/UpdatePersonValidator.php
@@ -0,0 +1,119 @@
+ 'required',
+ 'id' => 'required|string|url',
+ 'type' => [
+ 'required',
+ Rule::in(['Update'])
+ ],
+ 'actor' => 'required|url',
+ 'object' => 'required',
+ 'object.id' => [
+ 'required',
+ 'url',
+ 'same:actor',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ],
+ 'object.type' => [
+ 'required',
+ Rule::in(['Person'])
+ ],
+ 'object.publicKey' => 'required',
+ 'object.publicKey.id' => [
+ 'required',
+ 'url',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ],
+ 'object.publicKey.owner' => [
+ 'required',
+ 'url',
+ 'same:actor',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ],
+ 'object.publicKey.publicKeyPem' => 'required|string',
+ 'object.url' => [
+ 'required',
+ 'url',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ],
+ 'object.summary' => 'required|string|nullable',
+ 'object.preferredUsername' => 'required|string',
+ 'object.name' => 'required|string|nullable',
+ 'object.inbox' => [
+ 'required',
+ 'url',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ],
+ 'object.outbox' => [
+ 'required',
+ 'url',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ],
+ 'object.following' => [
+ 'required',
+ 'url',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ],
+ 'object.followers' => [
+ 'required',
+ 'url',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ],
+ 'object.manuallyApprovesFollowers' => 'required',
+ 'object.icon' => 'sometimes|nullable',
+ 'object.icon.type' => 'sometimes|required_with:object.icon.url,object.icon.mediaType|in:Image',
+ 'object.icon.url' => 'sometimes|required_with:object.icon.type,object.icon.mediaType|url',
+ 'object.icon.mediaType' => 'sometimes|required_with:object.icon.url,object.icon.type|in:image/jpeg,image/png,image/jpg',
+ 'object.endpoints' => 'sometimes',
+ 'object.endpoints.sharedInbox' => [
+ 'sometimes',
+ 'url',
+ function (string $attribute, mixed $value, Closure $fail) use($payload) {
+ self::sameHost($attribute, $value, $fail, $payload['actor']);
+ },
+ ]
+ ])->passes();
+
+ return $valid;
+ }
+
+ public static function sameHost(string $attribute, mixed $value, Closure $fail, string $comparedHost)
+ {
+ if(empty($value)) {
+ $fail('The ' . $attribute . ' is invalid or empty');
+ }
+ $host = parse_url($value, PHP_URL_HOST);
+ $idHost = parse_url($comparedHost, PHP_URL_HOST);
+ if ($host !== $idHost) {
+ $fail('The ' . $attribute . ' is invalid');
+ }
+ }
+}
diff --git a/app/Util/Lexer/Classifier.php b/app/Util/Lexer/Classifier.php
new file mode 100644
index 000000000..61f7b694c
--- /dev/null
+++ b/app/Util/Lexer/Classifier.php
@@ -0,0 +1,178 @@
+
+ */
+ private $tokenizer;
+
+ /**
+ * @var array>
+ */
+ private array $words = [];
+
+ /**
+ * @var array
+ */
+ private array $documents = [];
+
+ private bool $uneven = false;
+
+ /**
+ * @param callable(string): array $tokenizer
+ */
+ public function setTokenizer(callable $tokenizer): void
+ {
+ $this->tokenizer = $tokenizer;
+ }
+
+ /**
+ * @return Collection
+ */
+ public function tokenize(string $string): Collection
+ {
+ if ($this->tokenizer) {
+ /** @var array */
+ $tokens = call_user_func($this->tokenizer, $string);
+
+ return collect($tokens);
+ }
+
+ return Str::of($string)
+ ->lower()
+ ->matchAll('/[[:alpha:]]+/u');
+ }
+
+ /**
+ * @return $this
+ */
+ public function learn(string $statement, string $type): self
+ {
+ foreach ($this->tokenize($statement) as $word) {
+ $this->incrementWord($type, $word);
+ }
+
+ $this->incrementType($type);
+
+ return $this;
+ }
+
+ /**
+ * @return Collection
+ */
+ public function guess(string $statement): Collection
+ {
+ $words = $this->tokenize($statement);
+
+ return collect($this->documents)
+ ->map(function ($count, string $type) use ($words) {
+ $likelihood = $this->pTotal($type);
+
+ foreach ($words as $word) {
+ $likelihood *= $this->p($word, $type);
+ }
+
+ return (string) BigDecimal::of($likelihood);
+ })
+ ->sortDesc();
+ }
+
+ public function most(string $statement): string
+ {
+ /** @var string */
+ return $this->guess($statement)->keys()->first();
+ }
+
+ /**
+ * @return self
+ */
+ public function uneven(bool $enabled = false): self
+ {
+ $this->uneven = $enabled;
+
+ return $this;
+ }
+
+ /**
+ * Increment the document count for the type
+ */
+ private function incrementType(string $type): void
+ {
+ if (! isset($this->documents[$type])) {
+ $this->documents[$type] = 0;
+ }
+
+ $this->documents[$type]++;
+ }
+
+ /**
+ * Increment the word count for the given type
+ */
+ private function incrementWord(string $type, string $word): void
+ {
+ $ignored = config('autospam.ignored_tokens');
+ if(!$ignored) {
+ $ignored = ['the', 'a', 'of', 'and'];
+ } else {
+ $ignored = explode(',', $ignored);
+ }
+ if ($type == 'spam' && in_array($word, $ignored)) {
+ return;
+ }
+ if (! isset($this->words[$type][$word])) {
+ $this->words[$type][$word] = 0;
+ }
+
+ $this->words[$type][$word]++;
+ }
+
+ /**
+ * @return float|int
+ */
+ private function p(string $word, string $type)
+ {
+ $count = $this->words[$type][$word] ?? 0;
+
+ return ($count + 1) / (array_sum($this->words[$type]) + 1);
+ }
+
+ /**
+ * @return float|int
+ */
+ private function pTotal(string $type)
+ {
+ return $this->uneven
+ ? ($this->documents[$type] + 1) / (array_sum($this->documents) + 1)
+ : 1;
+ }
+
+ public function export()
+ {
+ $words = $this->words;
+ $words = collect($words)
+ ->map(function($w) {
+ arsort($w);
+ return $w;
+ })
+ ->all();
+ return json_encode([
+ '_ns' => 'https://pixelfed.org/ns/nlp',
+ '_v' => '1.0',
+ 'documents' => $this->documents,
+ 'words' => $words
+ ], JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
+ }
+
+ public function import($documents, $words)
+ {
+ $this->documents = $documents;
+ $this->words = $words;
+ }
+}
diff --git a/app/Util/Sentiment/Bouncer.php b/app/Util/Sentiment/Bouncer.php
index c0a151a9b..5dc405520 100644
--- a/app/Util/Sentiment/Bouncer.php
+++ b/app/Util/Sentiment/Bouncer.php
@@ -6,8 +6,11 @@ use App\AccountInterstitial;
use App\Status;
use Cache;
use Illuminate\Support\Str;
+use App\Services\NotificationService;
use App\Services\StatusService;
use App\Jobs\ReportPipeline\AutospamNotifyAdminViaEmail;
+use App\Notification;
+use App\Services\AutospamService;
class Bouncer {
@@ -86,6 +89,12 @@ class Bouncer {
return;
}
+ if(AutospamService::active()) {
+ if(AutospamService::check($status->caption)) {
+ return (new self)->handle($status);
+ }
+ }
+
if(!Str::contains($status->caption, [
'https://',
'http://',
@@ -140,6 +149,14 @@ class Bouncer {
// $status->is_nsfw = true;
$status->save();
+ $notification = new Notification();
+ $notification->profile_id = $status->profile_id;
+ $notification->actor_id = $status->profile_id;
+ $notification->action = 'autospam.warning';
+ $notification->item_id = $status->id;
+ $notification->item_type = "App\Status";
+ $notification->save();
+
StatusService::del($status->id);
Cache::forget('pf:bouncer_v0:exemption_by_pid:' . $status->profile_id);
diff --git a/app/Util/Site/Config.php b/app/Util/Site/Config.php
index dc77eda0b..90631159f 100644
--- a/app/Util/Site/Config.php
+++ b/app/Util/Site/Config.php
@@ -7,7 +7,7 @@ use Illuminate\Support\Str;
class Config {
- const CACHE_KEY = 'api:site:configuration:_v0.7';
+ const CACHE_KEY = 'api:site:configuration:_v0.8';
public static function get() {
return Cache::remember(self::CACHE_KEY, 900, function() {
diff --git a/composer.lock b/composer.lock
index 4c5968358..e28376f20 100644
--- a/composer.lock
+++ b/composer.lock
@@ -62,16 +62,16 @@
},
{
"name": "aws/aws-sdk-php",
- "version": "3.263.13",
+ "version": "3.275.5",
"source": {
"type": "git",
"url": "https://github.com/aws/aws-sdk-php.git",
- "reference": "939120791996563677afe75a97ff18f514b7418f"
+ "reference": "d46961b82e857f77059c0c78160719ecb26f6cc6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/939120791996563677afe75a97ff18f514b7418f",
- "reference": "939120791996563677afe75a97ff18f514b7418f",
+ "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d46961b82e857f77059c0c78160719ecb26f6cc6",
+ "reference": "d46961b82e857f77059c0c78160719ecb26f6cc6",
"shasum": ""
},
"require": {
@@ -81,9 +81,10 @@
"ext-simplexml": "*",
"guzzlehttp/guzzle": "^6.5.8 || ^7.4.5",
"guzzlehttp/promises": "^1.4.0",
- "guzzlehttp/psr7": "^1.8.5 || ^2.3",
+ "guzzlehttp/psr7": "^1.9.1 || ^2.4.5",
"mtdowling/jmespath.php": "^2.6",
- "php": ">=5.5"
+ "php": ">=5.5",
+ "psr/http-message": "^1.0"
},
"require-dev": {
"andrewsville/php-token-reflection": "^1.4",
@@ -100,7 +101,6 @@
"paragonie/random_compat": ">= 2",
"phpunit/phpunit": "^4.8.35 || ^5.6.3 || ^9.5",
"psr/cache": "^1.0",
- "psr/http-message": "<1.1",
"psr/simple-cache": "^1.0",
"sebastian/comparator": "^1.2.3 || ^4.0",
"yoast/phpunit-polyfills": "^1.0"
@@ -151,9 +151,9 @@
"support": {
"forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80",
"issues": "https://github.com/aws/aws-sdk-php/issues",
- "source": "https://github.com/aws/aws-sdk-php/tree/3.263.13"
+ "source": "https://github.com/aws/aws-sdk-php/tree/3.275.5"
},
- "time": "2023-04-19T18:23:42+00:00"
+ "time": "2023-07-07T18:20:11+00:00"
},
{
"name": "bacon/bacon-qr-code",
@@ -539,16 +539,16 @@
},
{
"name": "defuse/php-encryption",
- "version": "v2.3.1",
+ "version": "v2.4.0",
"source": {
"type": "git",
"url": "https://github.com/defuse/php-encryption.git",
- "reference": "77880488b9954b7884c25555c2a0ea9e7053f9d2"
+ "reference": "f53396c2d34225064647a05ca76c1da9d99e5828"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/defuse/php-encryption/zipball/77880488b9954b7884c25555c2a0ea9e7053f9d2",
- "reference": "77880488b9954b7884c25555c2a0ea9e7053f9d2",
+ "url": "https://api.github.com/repos/defuse/php-encryption/zipball/f53396c2d34225064647a05ca76c1da9d99e5828",
+ "reference": "f53396c2d34225064647a05ca76c1da9d99e5828",
"shasum": ""
},
"require": {
@@ -557,7 +557,8 @@
"php": ">=5.6.0"
},
"require-dev": {
- "phpunit/phpunit": "^4|^5|^6|^7|^8|^9"
+ "phpunit/phpunit": "^5|^6|^7|^8|^9|^10",
+ "yoast/phpunit-polyfills": "^2.0.0"
},
"bin": [
"bin/generate-defuse-key"
@@ -599,9 +600,9 @@
],
"support": {
"issues": "https://github.com/defuse/php-encryption/issues",
- "source": "https://github.com/defuse/php-encryption/tree/v2.3.1"
+ "source": "https://github.com/defuse/php-encryption/tree/v2.4.0"
},
- "time": "2021-04-09T23:57:26+00:00"
+ "time": "2023-06-19T06:10:36+00:00"
},
{
"name": "dflydev/dot-access-data",
@@ -773,16 +774,16 @@
},
{
"name": "doctrine/dbal",
- "version": "3.6.2",
+ "version": "3.6.4",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "b4bd1cfbd2b916951696d82e57d054394d84864c"
+ "reference": "19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/b4bd1cfbd2b916951696d82e57d054394d84864c",
- "reference": "b4bd1cfbd2b916951696d82e57d054394d84864c",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f",
+ "reference": "19f0dec95edd6a3c3c5ff1d188ea94c6b7fc903f",
"shasum": ""
},
"require": {
@@ -795,12 +796,12 @@
"psr/log": "^1|^2|^3"
},
"require-dev": {
- "doctrine/coding-standard": "11.1.0",
+ "doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2022.3",
- "phpstan/phpstan": "1.10.9",
+ "phpstan/phpstan": "1.10.14",
"phpstan/phpstan-strict-rules": "^1.5",
- "phpunit/phpunit": "9.6.6",
+ "phpunit/phpunit": "9.6.7",
"psalm/plugin-phpunit": "0.18.4",
"squizlabs/php_codesniffer": "3.7.2",
"symfony/cache": "^5.4|^6.0",
@@ -865,7 +866,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.6.2"
+ "source": "https://github.com/doctrine/dbal/tree/3.6.4"
},
"funding": [
{
@@ -881,29 +882,33 @@
"type": "tidelift"
}
],
- "time": "2023-04-14T07:25:38+00:00"
+ "time": "2023-06-15T07:40:12+00:00"
},
{
"name": "doctrine/deprecations",
- "version": "v1.0.0",
+ "version": "v1.1.1",
"source": {
"type": "git",
"url": "https://github.com/doctrine/deprecations.git",
- "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de"
+ "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/deprecations/zipball/0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
- "reference": "0e2a4f1f8cdfc7a92ec3b01c9334898c806b30de",
+ "url": "https://api.github.com/repos/doctrine/deprecations/zipball/612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
+ "reference": "612a3ee5ab0d5dd97b7cf3874a6efe24325efac3",
"shasum": ""
},
"require": {
- "php": "^7.1|^8.0"
+ "php": "^7.1 || ^8.0"
},
"require-dev": {
"doctrine/coding-standard": "^9",
- "phpunit/phpunit": "^7.5|^8.5|^9.5",
- "psr/log": "^1|^2|^3"
+ "phpstan/phpstan": "1.4.10 || 1.10.15",
+ "phpstan/phpstan-phpunit": "^1.0",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5",
+ "psalm/plugin-phpunit": "0.18.4",
+ "psr/log": "^1 || ^2 || ^3",
+ "vimeo/psalm": "4.30.0 || 5.12.0"
},
"suggest": {
"psr/log": "Allows logging deprecations via PSR-3 logger implementation"
@@ -922,9 +927,9 @@
"homepage": "https://www.doctrine-project.org/",
"support": {
"issues": "https://github.com/doctrine/deprecations/issues",
- "source": "https://github.com/doctrine/deprecations/tree/v1.0.0"
+ "source": "https://github.com/doctrine/deprecations/tree/v1.1.1"
},
- "time": "2022-05-02T15:47:09+00:00"
+ "time": "2023-06-03T09:27:29+00:00"
},
{
"name": "doctrine/event-manager",
@@ -1019,28 +1024,28 @@
},
{
"name": "doctrine/inflector",
- "version": "2.0.6",
+ "version": "2.0.8",
"source": {
"type": "git",
"url": "https://github.com/doctrine/inflector.git",
- "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024"
+ "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
- "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024",
+ "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff",
+ "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff",
"shasum": ""
},
"require": {
"php": "^7.2 || ^8.0"
},
"require-dev": {
- "doctrine/coding-standard": "^10",
+ "doctrine/coding-standard": "^11.0",
"phpstan/phpstan": "^1.8",
"phpstan/phpstan-phpunit": "^1.1",
"phpstan/phpstan-strict-rules": "^1.3",
"phpunit/phpunit": "^8.5 || ^9.5",
- "vimeo/psalm": "^4.25"
+ "vimeo/psalm": "^4.25 || ^5.4"
},
"type": "library",
"autoload": {
@@ -1090,7 +1095,7 @@
],
"support": {
"issues": "https://github.com/doctrine/inflector/issues",
- "source": "https://github.com/doctrine/inflector/tree/2.0.6"
+ "source": "https://github.com/doctrine/inflector/tree/2.0.8"
},
"funding": [
{
@@ -1106,7 +1111,7 @@
"type": "tidelift"
}
],
- "time": "2022-10-20T09:10:12+00:00"
+ "time": "2023-06-16T13:40:37+00:00"
},
{
"name": "doctrine/lexer",
@@ -1532,25 +1537,25 @@
},
{
"name": "firebase/php-jwt",
- "version": "v6.4.0",
+ "version": "v6.8.0",
"source": {
"type": "git",
"url": "https://github.com/firebase/php-jwt.git",
- "reference": "4dd1e007f22a927ac77da5a3fbb067b42d3bc224"
+ "reference": "48b0210c51718d682e53210c24d25c5a10a2299b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/firebase/php-jwt/zipball/4dd1e007f22a927ac77da5a3fbb067b42d3bc224",
- "reference": "4dd1e007f22a927ac77da5a3fbb067b42d3bc224",
+ "url": "https://api.github.com/repos/firebase/php-jwt/zipball/48b0210c51718d682e53210c24d25c5a10a2299b",
+ "reference": "48b0210c51718d682e53210c24d25c5a10a2299b",
"shasum": ""
},
"require": {
- "php": "^7.1||^8.0"
+ "php": "^7.4||^8.0"
},
"require-dev": {
"guzzlehttp/guzzle": "^6.5||^7.4",
- "phpspec/prophecy-phpunit": "^1.1",
- "phpunit/phpunit": "^7.5||^9.5",
+ "phpspec/prophecy-phpunit": "^2.0",
+ "phpunit/phpunit": "^9.5",
"psr/cache": "^1.0||^2.0",
"psr/http-client": "^1.0",
"psr/http-factory": "^1.0"
@@ -1589,9 +1594,9 @@
],
"support": {
"issues": "https://github.com/firebase/php-jwt/issues",
- "source": "https://github.com/firebase/php-jwt/tree/v6.4.0"
+ "source": "https://github.com/firebase/php-jwt/tree/v6.8.0"
},
- "time": "2023-02-09T21:01:23+00:00"
+ "time": "2023-06-20T16:45:35+00:00"
},
{
"name": "fruitcake/php-cors",
@@ -1728,21 +1733,21 @@
},
{
"name": "guzzlehttp/guzzle",
- "version": "7.5.1",
+ "version": "7.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
- "reference": "b964ca597e86b752cd994f27293e9fa6b6a95ed9"
+ "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/guzzle/zipball/b964ca597e86b752cd994f27293e9fa6b6a95ed9",
- "reference": "b964ca597e86b752cd994f27293e9fa6b6a95ed9",
+ "url": "https://api.github.com/repos/guzzle/guzzle/zipball/fb7566caccf22d74d1ab270de3551f72a58399f5",
+ "reference": "fb7566caccf22d74d1ab270de3551f72a58399f5",
"shasum": ""
},
"require": {
"ext-json": "*",
- "guzzlehttp/promises": "^1.5",
+ "guzzlehttp/promises": "^1.5.3 || ^2.0",
"guzzlehttp/psr7": "^1.9.1 || ^2.4.5",
"php": "^7.2.5 || ^8.0",
"psr/http-client": "^1.0",
@@ -1754,7 +1759,8 @@
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.1",
"ext-curl": "*",
- "php-http/client-integration-tests": "^3.0",
+ "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999",
+ "php-http/message-factory": "^1.1",
"phpunit/phpunit": "^8.5.29 || ^9.5.23",
"psr/log": "^1.1 || ^2.0 || ^3.0"
},
@@ -1768,9 +1774,6 @@
"bamarni-bin": {
"bin-links": true,
"forward-command": false
- },
- "branch-alias": {
- "dev-master": "7.5-dev"
}
},
"autoload": {
@@ -1836,7 +1839,7 @@
],
"support": {
"issues": "https://github.com/guzzle/guzzle/issues",
- "source": "https://github.com/guzzle/guzzle/tree/7.5.1"
+ "source": "https://github.com/guzzle/guzzle/tree/7.7.0"
},
"funding": [
{
@@ -1852,20 +1855,20 @@
"type": "tidelift"
}
],
- "time": "2023-04-17T16:30:08+00:00"
+ "time": "2023-05-21T14:04:53+00:00"
},
{
"name": "guzzlehttp/promises",
- "version": "1.5.2",
+ "version": "1.5.3",
"source": {
"type": "git",
"url": "https://github.com/guzzle/promises.git",
- "reference": "b94b2807d85443f9719887892882d0329d1e2598"
+ "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/promises/zipball/b94b2807d85443f9719887892882d0329d1e2598",
- "reference": "b94b2807d85443f9719887892882d0329d1e2598",
+ "url": "https://api.github.com/repos/guzzle/promises/zipball/67ab6e18aaa14d753cc148911d273f6e6cb6721e",
+ "reference": "67ab6e18aaa14d753cc148911d273f6e6cb6721e",
"shasum": ""
},
"require": {
@@ -1875,11 +1878,6 @@
"symfony/phpunit-bridge": "^4.4 || ^5.1"
},
"type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.5-dev"
- }
- },
"autoload": {
"files": [
"src/functions_include.php"
@@ -1920,7 +1918,7 @@
],
"support": {
"issues": "https://github.com/guzzle/promises/issues",
- "source": "https://github.com/guzzle/promises/tree/1.5.2"
+ "source": "https://github.com/guzzle/promises/tree/1.5.3"
},
"funding": [
{
@@ -1936,7 +1934,7 @@
"type": "tidelift"
}
],
- "time": "2022-08-28T14:55:35+00:00"
+ "time": "2023-05-21T12:31:43+00:00"
},
{
"name": "guzzlehttp/psr7",
@@ -2224,16 +2222,16 @@
},
{
"name": "jaybizzle/crawler-detect",
- "version": "v1.2.114",
+ "version": "v1.2.115",
"source": {
"type": "git",
"url": "https://github.com/JayBizzle/Crawler-Detect.git",
- "reference": "62d0e6b38f6715c673e156ffb0fc894791de3452"
+ "reference": "4531e4a70d55d10cbe7d41ac1ff0d75a5fe2ef1e"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/62d0e6b38f6715c673e156ffb0fc894791de3452",
- "reference": "62d0e6b38f6715c673e156ffb0fc894791de3452",
+ "url": "https://api.github.com/repos/JayBizzle/Crawler-Detect/zipball/4531e4a70d55d10cbe7d41ac1ff0d75a5fe2ef1e",
+ "reference": "4531e4a70d55d10cbe7d41ac1ff0d75a5fe2ef1e",
"shasum": ""
},
"require": {
@@ -2270,9 +2268,9 @@
],
"support": {
"issues": "https://github.com/JayBizzle/Crawler-Detect/issues",
- "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.114"
+ "source": "https://github.com/JayBizzle/Crawler-Detect/tree/v1.2.115"
},
- "time": "2023-03-21T21:54:27+00:00"
+ "time": "2023-06-05T21:32:18+00:00"
},
{
"name": "jenssegers/agent",
@@ -2359,16 +2357,16 @@
},
{
"name": "laravel/framework",
- "version": "v10.8.0",
+ "version": "v10.14.1",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
- "reference": "317d7ccaeb1bbf4ac3035efe225ef2746c45f3a8"
+ "reference": "6f89a2b74b232d8bf2e1d9ed87e311841263dfcb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/framework/zipball/317d7ccaeb1bbf4ac3035efe225ef2746c45f3a8",
- "reference": "317d7ccaeb1bbf4ac3035efe225ef2746c45f3a8",
+ "url": "https://api.github.com/repos/laravel/framework/zipball/6f89a2b74b232d8bf2e1d9ed87e311841263dfcb",
+ "reference": "6f89a2b74b232d8bf2e1d9ed87e311841263dfcb",
"shasum": ""
},
"require": {
@@ -2555,7 +2553,7 @@
"issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework"
},
- "time": "2023-04-18T13:45:33+00:00"
+ "time": "2023-06-28T14:25:16+00:00"
},
{
"name": "laravel/helpers",
@@ -2615,16 +2613,16 @@
},
{
"name": "laravel/horizon",
- "version": "v5.15.0",
+ "version": "v5.17.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/horizon.git",
- "reference": "b49be302566365e0e4d517aac9995a8fe20b580e"
+ "reference": "569c7154033679a1ca05b43bfa640cc60aa3b37b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/horizon/zipball/b49be302566365e0e4d517aac9995a8fe20b580e",
- "reference": "b49be302566365e0e4d517aac9995a8fe20b580e",
+ "url": "https://api.github.com/repos/laravel/horizon/zipball/569c7154033679a1ca05b43bfa640cc60aa3b37b",
+ "reference": "569c7154033679a1ca05b43bfa640cc60aa3b37b",
"shasum": ""
},
"require": {
@@ -2687,22 +2685,22 @@
],
"support": {
"issues": "https://github.com/laravel/horizon/issues",
- "source": "https://github.com/laravel/horizon/tree/v5.15.0"
+ "source": "https://github.com/laravel/horizon/tree/v5.17.0"
},
- "time": "2023-03-07T17:45:21+00:00"
+ "time": "2023-06-13T20:49:30+00:00"
},
{
"name": "laravel/passport",
- "version": "v11.8.5",
+ "version": "v11.8.8",
"source": {
"type": "git",
"url": "https://github.com/laravel/passport.git",
- "reference": "5417fe870a1a76628c13c79ce4c9b6fbea429bc0"
+ "reference": "401836130d46c94138a637ada29f9e5b2bf053b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/passport/zipball/5417fe870a1a76628c13c79ce4c9b6fbea429bc0",
- "reference": "5417fe870a1a76628c13c79ce4c9b6fbea429bc0",
+ "url": "https://api.github.com/repos/laravel/passport/zipball/401836130d46c94138a637ada29f9e5b2bf053b6",
+ "reference": "401836130d46c94138a637ada29f9e5b2bf053b6",
"shasum": ""
},
"require": {
@@ -2718,7 +2716,7 @@
"illuminate/http": "^9.0|^10.0",
"illuminate/support": "^9.0|^10.0",
"lcobucci/jwt": "^4.3|^5.0",
- "league/oauth2-server": "^8.5.1",
+ "league/oauth2-server": "^8.5.3",
"nyholm/psr7": "^1.5",
"php": "^8.0",
"phpseclib/phpseclib": "^2.0|^3.0",
@@ -2767,7 +2765,7 @@
"issues": "https://github.com/laravel/passport/issues",
"source": "https://github.com/laravel/passport"
},
- "time": "2023-04-04T14:06:53+00:00"
+ "time": "2023-07-07T06:37:11+00:00"
},
{
"name": "laravel/serializable-closure",
@@ -2899,16 +2897,16 @@
},
{
"name": "laravel/ui",
- "version": "v4.2.1",
+ "version": "v4.2.2",
"source": {
"type": "git",
"url": "https://github.com/laravel/ui.git",
- "reference": "05ff7ac1eb55e2dfd10edcfb18c953684d693907"
+ "reference": "a58ec468db4a340b33f3426c778784717a2c144b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/ui/zipball/05ff7ac1eb55e2dfd10edcfb18c953684d693907",
- "reference": "05ff7ac1eb55e2dfd10edcfb18c953684d693907",
+ "url": "https://api.github.com/repos/laravel/ui/zipball/a58ec468db4a340b33f3426c778784717a2c144b",
+ "reference": "a58ec468db4a340b33f3426c778784717a2c144b",
"shasum": ""
},
"require": {
@@ -2955,9 +2953,9 @@
"ui"
],
"support": {
- "source": "https://github.com/laravel/ui/tree/v4.2.1"
+ "source": "https://github.com/laravel/ui/tree/v4.2.2"
},
- "time": "2023-02-17T09:17:24+00:00"
+ "time": "2023-05-09T19:47:28+00:00"
},
{
"name": "lcobucci/clock",
@@ -3342,19 +3340,20 @@
},
{
"name": "league/flysystem",
- "version": "3.14.0",
+ "version": "3.15.1",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
- "reference": "e2a279d7f47d9098e479e8b21f7fb8b8de230158"
+ "reference": "a141d430414fcb8bf797a18716b09f759a385bed"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e2a279d7f47d9098e479e8b21f7fb8b8de230158",
- "reference": "e2a279d7f47d9098e479e8b21f7fb8b8de230158",
+ "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/a141d430414fcb8bf797a18716b09f759a385bed",
+ "reference": "a141d430414fcb8bf797a18716b09f759a385bed",
"shasum": ""
},
"require": {
+ "league/flysystem-local": "^3.0.0",
"league/mime-type-detection": "^1.0.0",
"php": "^8.0.2"
},
@@ -3413,7 +3412,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem/issues",
- "source": "https://github.com/thephpleague/flysystem/tree/3.14.0"
+ "source": "https://github.com/thephpleague/flysystem/tree/3.15.1"
},
"funding": [
{
@@ -3425,20 +3424,20 @@
"type": "github"
}
],
- "time": "2023-04-11T18:11:47+00:00"
+ "time": "2023-05-04T09:04:26+00:00"
},
{
"name": "league/flysystem-aws-s3-v3",
- "version": "3.13.0",
+ "version": "3.15.0",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem-aws-s3-v3.git",
- "reference": "8e04cbb403d4dfd5b73a2f8685f1df395bd177eb"
+ "reference": "d8de61ee10b6a607e7996cff388c5a3a663e8c8a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/8e04cbb403d4dfd5b73a2f8685f1df395bd177eb",
- "reference": "8e04cbb403d4dfd5b73a2f8685f1df395bd177eb",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-aws-s3-v3/zipball/d8de61ee10b6a607e7996cff388c5a3a663e8c8a",
+ "reference": "d8de61ee10b6a607e7996cff388c5a3a663e8c8a",
"shasum": ""
},
"require": {
@@ -3479,7 +3478,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/flysystem-aws-s3-v3/issues",
- "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.13.0"
+ "source": "https://github.com/thephpleague/flysystem-aws-s3-v3/tree/3.15.0"
},
"funding": [
{
@@ -3491,23 +3490,84 @@
"type": "github"
}
],
- "time": "2023-03-16T14:29:01+00:00"
+ "time": "2023-05-02T20:02:14+00:00"
},
{
- "name": "league/iso3166",
- "version": "4.2.1",
+ "name": "league/flysystem-local",
+ "version": "3.15.0",
"source": {
"type": "git",
- "url": "https://github.com/thephpleague/iso3166.git",
- "reference": "74a08ffe08d4e0dd8ab0aac8c34ea5a641d57669"
+ "url": "https://github.com/thephpleague/flysystem-local.git",
+ "reference": "543f64c397fefdf9cfeac443ffb6beff602796b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/iso3166/zipball/74a08ffe08d4e0dd8ab0aac8c34ea5a641d57669",
- "reference": "74a08ffe08d4e0dd8ab0aac8c34ea5a641d57669",
+ "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/543f64c397fefdf9cfeac443ffb6beff602796b3",
+ "reference": "543f64c397fefdf9cfeac443ffb6beff602796b3",
"shasum": ""
},
"require": {
+ "ext-fileinfo": "*",
+ "league/flysystem": "^3.0.0",
+ "league/mime-type-detection": "^1.0.0",
+ "php": "^8.0.2"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "League\\Flysystem\\Local\\": ""
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Frank de Jonge",
+ "email": "info@frankdejonge.nl"
+ }
+ ],
+ "description": "Local filesystem adapter for Flysystem.",
+ "keywords": [
+ "Flysystem",
+ "file",
+ "files",
+ "filesystem",
+ "local"
+ ],
+ "support": {
+ "issues": "https://github.com/thephpleague/flysystem-local/issues",
+ "source": "https://github.com/thephpleague/flysystem-local/tree/3.15.0"
+ },
+ "funding": [
+ {
+ "url": "https://ecologi.com/frankdejonge",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/frankdejonge",
+ "type": "github"
+ }
+ ],
+ "time": "2023-05-02T20:02:14+00:00"
+ },
+ {
+ "name": "league/iso3166",
+ "version": "4.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/thephpleague/iso3166.git",
+ "reference": "628f1b4992169917f3f59c14020ea4513c63f6db"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/thephpleague/iso3166/zipball/628f1b4992169917f3f59c14020ea4513c63f6db",
+ "reference": "628f1b4992169917f3f59c14020ea4513c63f6db",
+ "shasum": ""
+ },
+ "require": {
+ "ext-mbstring": "*",
"php": "^7.3|^8.0"
},
"require-dev": {
@@ -3548,7 +3608,7 @@
"issues": "https://github.com/thephpleague/iso3166/issues",
"source": "https://github.com/thephpleague/iso3166"
},
- "time": "2023-01-31T16:08:51+00:00"
+ "time": "2023-06-05T15:02:58+00:00"
},
{
"name": "league/mime-type-detection",
@@ -3608,35 +3668,34 @@
},
{
"name": "league/oauth2-server",
- "version": "8.5.1",
+ "version": "8.5.3",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/oauth2-server.git",
- "reference": "43cd4d406906c6be5c8de2cee9bd3ad3753544ef"
+ "reference": "eb91b4190e7f6169053ebf8ffa352d47e756b2ce"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/43cd4d406906c6be5c8de2cee9bd3ad3753544ef",
- "reference": "43cd4d406906c6be5c8de2cee9bd3ad3753544ef",
+ "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/eb91b4190e7f6169053ebf8ffa352d47e756b2ce",
+ "reference": "eb91b4190e7f6169053ebf8ffa352d47e756b2ce",
"shasum": ""
},
"require": {
"defuse/php-encryption": "^2.3",
- "ext-json": "*",
"ext-openssl": "*",
"lcobucci/clock": "^2.2 || ^3.0",
"lcobucci/jwt": "^4.3 || ^5.0",
"league/event": "^2.2",
"league/uri": "^6.7",
"php": "^8.0",
- "psr/http-message": "^1.0.1"
+ "psr/http-message": "^1.0.1 || ^2.0"
},
"replace": {
"league/oauth2server": "*",
"lncd/oauth2": "*"
},
"require-dev": {
- "laminas/laminas-diactoros": "^2.24.0",
+ "laminas/laminas-diactoros": "^3.0.0",
"phpstan/phpstan": "^0.12.57",
"phpstan/phpstan-phpunit": "^0.12.16",
"phpunit/phpunit": "^9.6.6",
@@ -3685,7 +3744,7 @@
],
"support": {
"issues": "https://github.com/thephpleague/oauth2-server/issues",
- "source": "https://github.com/thephpleague/oauth2-server/tree/8.5.1"
+ "source": "https://github.com/thephpleague/oauth2-server/tree/8.5.3"
},
"funding": [
{
@@ -3693,7 +3752,7 @@
"type": "github"
}
],
- "time": "2023-04-04T10:20:16+00:00"
+ "time": "2023-07-05T23:01:32+00:00"
},
{
"name": "league/uri",
@@ -3924,16 +3983,16 @@
},
{
"name": "monolog/monolog",
- "version": "3.3.1",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/Seldaek/monolog.git",
- "reference": "9b5daeaffce5b926cac47923798bba91059e60e2"
+ "reference": "e2392369686d420ca32df3803de28b5d6f76867d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Seldaek/monolog/zipball/9b5daeaffce5b926cac47923798bba91059e60e2",
- "reference": "9b5daeaffce5b926cac47923798bba91059e60e2",
+ "url": "https://api.github.com/repos/Seldaek/monolog/zipball/e2392369686d420ca32df3803de28b5d6f76867d",
+ "reference": "e2392369686d420ca32df3803de28b5d6f76867d",
"shasum": ""
},
"require": {
@@ -3948,7 +4007,7 @@
"doctrine/couchdb": "~1.0@dev",
"elasticsearch/elasticsearch": "^7 || ^8",
"ext-json": "*",
- "graylog2/gelf-php": "^1.4.2 || ^2@dev",
+ "graylog2/gelf-php": "^1.4.2 || ^2.0",
"guzzlehttp/guzzle": "^7.4.5",
"guzzlehttp/psr7": "^2.2",
"mongodb/mongodb": "^1.8",
@@ -3956,7 +4015,7 @@
"phpstan/phpstan": "^1.9",
"phpstan/phpstan-deprecation-rules": "^1.0",
"phpstan/phpstan-strict-rules": "^1.4",
- "phpunit/phpunit": "^9.5.26",
+ "phpunit/phpunit": "^10.1",
"predis/predis": "^1.1 || ^2",
"ruflin/elastica": "^7",
"symfony/mailer": "^5.4 || ^6",
@@ -4009,7 +4068,7 @@
],
"support": {
"issues": "https://github.com/Seldaek/monolog/issues",
- "source": "https://github.com/Seldaek/monolog/tree/3.3.1"
+ "source": "https://github.com/Seldaek/monolog/tree/3.4.0"
},
"funding": [
{
@@ -4021,7 +4080,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-06T13:46:10+00:00"
+ "time": "2023-06-21T08:46:11+00:00"
},
{
"name": "mtdowling/jmespath.php",
@@ -4086,16 +4145,16 @@
},
{
"name": "nesbot/carbon",
- "version": "2.66.0",
+ "version": "2.68.1",
"source": {
"type": "git",
"url": "https://github.com/briannesbitt/Carbon.git",
- "reference": "496712849902241f04902033b0441b269effe001"
+ "reference": "4f991ed2a403c85efbc4f23eb4030063fdbe01da"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/496712849902241f04902033b0441b269effe001",
- "reference": "496712849902241f04902033b0441b269effe001",
+ "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/4f991ed2a403c85efbc4f23eb4030063fdbe01da",
+ "reference": "4f991ed2a403c85efbc4f23eb4030063fdbe01da",
"shasum": ""
},
"require": {
@@ -4184,7 +4243,7 @@
"type": "tidelift"
}
],
- "time": "2023-01-29T18:53:47+00:00"
+ "time": "2023-06-20T18:29:04+00:00"
},
{
"name": "nette/schema",
@@ -4337,16 +4396,16 @@
},
{
"name": "nikic/php-parser",
- "version": "v4.15.4",
+ "version": "v4.16.0",
"source": {
"type": "git",
"url": "https://github.com/nikic/PHP-Parser.git",
- "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290"
+ "reference": "19526a33fb561ef417e822e85f08a00db4059c17"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
- "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290",
+ "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17",
+ "reference": "19526a33fb561ef417e822e85f08a00db4059c17",
"shasum": ""
},
"require": {
@@ -4387,9 +4446,9 @@
],
"support": {
"issues": "https://github.com/nikic/PHP-Parser/issues",
- "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4"
+ "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0"
},
- "time": "2023-03-05T19:49:14+00:00"
+ "time": "2023-06-25T14:52:30+00:00"
},
{
"name": "nunomaduro/termwind",
@@ -4479,23 +4538,22 @@
},
{
"name": "nyholm/psr7",
- "version": "1.6.1",
+ "version": "1.8.0",
"source": {
"type": "git",
"url": "https://github.com/Nyholm/psr7.git",
- "reference": "e874c8c4286a1e010fb4f385f3a55ac56a05cc93"
+ "reference": "3cb4d163b58589e47b35103e8e5e6a6a475b47be"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/Nyholm/psr7/zipball/e874c8c4286a1e010fb4f385f3a55ac56a05cc93",
- "reference": "e874c8c4286a1e010fb4f385f3a55ac56a05cc93",
+ "url": "https://api.github.com/repos/Nyholm/psr7/zipball/3cb4d163b58589e47b35103e8e5e6a6a475b47be",
+ "reference": "3cb4d163b58589e47b35103e8e5e6a6a475b47be",
"shasum": ""
},
"require": {
- "php": ">=7.1",
- "php-http/message-factory": "^1.0",
+ "php": ">=7.2",
"psr/http-factory": "^1.0",
- "psr/http-message": "^1.0"
+ "psr/http-message": "^1.1 || ^2.0"
},
"provide": {
"php-http/message-factory-implementation": "1.0",
@@ -4504,14 +4562,15 @@
},
"require-dev": {
"http-interop/http-factory-tests": "^0.9",
+ "php-http/message-factory": "^1.0",
"php-http/psr7-integration-tests": "^1.0",
- "phpunit/phpunit": "^7.5 || 8.5 || 9.4",
+ "phpunit/phpunit": "^7.5 || ^8.5 || ^9.4",
"symfony/error-handler": "^4.4"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.6-dev"
+ "dev-master": "1.8-dev"
}
},
"autoload": {
@@ -4541,7 +4600,7 @@
],
"support": {
"issues": "https://github.com/Nyholm/psr7/issues",
- "source": "https://github.com/Nyholm/psr7/tree/1.6.1"
+ "source": "https://github.com/Nyholm/psr7/tree/1.8.0"
},
"funding": [
{
@@ -4553,7 +4612,7 @@
"type": "github"
}
],
- "time": "2023-04-17T16:03:48+00:00"
+ "time": "2023-05-02T11:26:24+00:00"
},
{
"name": "paragonie/constant_time_encoding",
@@ -4674,16 +4733,16 @@
},
{
"name": "paragonie/sodium_compat",
- "version": "v1.19.0",
+ "version": "v1.20.0",
"source": {
"type": "git",
"url": "https://github.com/paragonie/sodium_compat.git",
- "reference": "cb15e403ecbe6a6cc515f855c310eb6b1872a933"
+ "reference": "e592a3e06d1fa0d43988c7c7d9948ca836f644b6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/cb15e403ecbe6a6cc515f855c310eb6b1872a933",
- "reference": "cb15e403ecbe6a6cc515f855c310eb6b1872a933",
+ "url": "https://api.github.com/repos/paragonie/sodium_compat/zipball/e592a3e06d1fa0d43988c7c7d9948ca836f644b6",
+ "reference": "e592a3e06d1fa0d43988c7c7d9948ca836f644b6",
"shasum": ""
},
"require": {
@@ -4754,9 +4813,9 @@
],
"support": {
"issues": "https://github.com/paragonie/sodium_compat/issues",
- "source": "https://github.com/paragonie/sodium_compat/tree/v1.19.0"
+ "source": "https://github.com/paragonie/sodium_compat/tree/v1.20.0"
},
- "time": "2022-09-26T03:40:35+00:00"
+ "time": "2023-04-30T00:54:53+00:00"
},
{
"name": "pbmedia/laravel-ffmpeg",
@@ -4925,60 +4984,6 @@
},
"time": "2022-12-09T13:57:05+00:00"
},
- {
- "name": "php-http/message-factory",
- "version": "1.1.0",
- "source": {
- "type": "git",
- "url": "https://github.com/php-http/message-factory.git",
- "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/php-http/message-factory/zipball/4d8778e1c7d405cbb471574821c1ff5b68cc8f57",
- "reference": "4d8778e1c7d405cbb471574821c1ff5b68cc8f57",
- "shasum": ""
- },
- "require": {
- "php": ">=5.4",
- "psr/http-message": "^1.0 || ^2.0"
- },
- "type": "library",
- "extra": {
- "branch-alias": {
- "dev-master": "1.x-dev"
- }
- },
- "autoload": {
- "psr-4": {
- "Http\\Message\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Márk Sági-Kazár",
- "email": "mark.sagikazar@gmail.com"
- }
- ],
- "description": "Factory interfaces for PSR-7 HTTP Message",
- "homepage": "http://php-http.org",
- "keywords": [
- "factory",
- "http",
- "message",
- "stream",
- "uri"
- ],
- "support": {
- "issues": "https://github.com/php-http/message-factory/issues",
- "source": "https://github.com/php-http/message-factory/tree/1.1.0"
- },
- "time": "2023-04-14T14:16:17+00:00"
- },
{
"name": "phpoption/phpoption",
"version": "1.9.1",
@@ -5056,16 +5061,16 @@
},
{
"name": "phpseclib/phpseclib",
- "version": "2.0.42",
+ "version": "2.0.44",
"source": {
"type": "git",
"url": "https://github.com/phpseclib/phpseclib.git",
- "reference": "665d289f59e646a259ebf13f29be7f6f54cab24b"
+ "reference": "149f608243f8133c61926aae26ce67d2b22b37e5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/665d289f59e646a259ebf13f29be7f6f54cab24b",
- "reference": "665d289f59e646a259ebf13f29be7f6f54cab24b",
+ "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/149f608243f8133c61926aae26ce67d2b22b37e5",
+ "reference": "149f608243f8133c61926aae26ce67d2b22b37e5",
"shasum": ""
},
"require": {
@@ -5146,7 +5151,7 @@
],
"support": {
"issues": "https://github.com/phpseclib/phpseclib/issues",
- "source": "https://github.com/phpseclib/phpseclib/tree/2.0.42"
+ "source": "https://github.com/phpseclib/phpseclib/tree/2.0.44"
},
"funding": [
{
@@ -5162,7 +5167,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-06T12:45:53+00:00"
+ "time": "2023-06-13T08:41:47+00:00"
},
{
"name": "pixelfed/fractal",
@@ -5393,16 +5398,16 @@
},
{
"name": "predis/predis",
- "version": "v2.1.2",
+ "version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/predis/predis.git",
- "reference": "a77a43913a74f9331f637bb12867eb8e274814e5"
+ "reference": "33b70b971a32b0d28b4f748b0547593dce316e0d"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/predis/predis/zipball/a77a43913a74f9331f637bb12867eb8e274814e5",
- "reference": "a77a43913a74f9331f637bb12867eb8e274814e5",
+ "url": "https://api.github.com/repos/predis/predis/zipball/33b70b971a32b0d28b4f748b0547593dce316e0d",
+ "reference": "33b70b971a32b0d28b4f748b0547593dce316e0d",
"shasum": ""
},
"require": {
@@ -5413,6 +5418,9 @@
"phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^8.0 || ~9.4.4"
},
+ "suggest": {
+ "ext-relay": "Faster connection with in-memory caching (>=0.6.2)"
+ },
"type": "library",
"autoload": {
"psr-4": {
@@ -5439,7 +5447,7 @@
],
"support": {
"issues": "https://github.com/predis/predis/issues",
- "source": "https://github.com/predis/predis/tree/v2.1.2"
+ "source": "https://github.com/predis/predis/tree/v2.2.0"
},
"funding": [
{
@@ -5447,7 +5455,7 @@
"type": "github"
}
],
- "time": "2023-03-02T18:32:04+00:00"
+ "time": "2023-06-14T10:37:31+00:00"
},
{
"name": "psr/cache",
@@ -5912,16 +5920,16 @@
},
{
"name": "psy/psysh",
- "version": "v0.11.15",
+ "version": "v0.11.18",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
- "reference": "5350ce0ec8ecf2c5b5cf554cd2496f97b444af85"
+ "reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/bobthecow/psysh/zipball/5350ce0ec8ecf2c5b5cf554cd2496f97b444af85",
- "reference": "5350ce0ec8ecf2c5b5cf554cd2496f97b444af85",
+ "url": "https://api.github.com/repos/bobthecow/psysh/zipball/4f00ee9e236fa6a48f4560d1300b9c961a70a7ec",
+ "reference": "4f00ee9e236fa6a48f4560d1300b9c961a70a7ec",
"shasum": ""
},
"require": {
@@ -5982,22 +5990,22 @@
],
"support": {
"issues": "https://github.com/bobthecow/psysh/issues",
- "source": "https://github.com/bobthecow/psysh/tree/v0.11.15"
+ "source": "https://github.com/bobthecow/psysh/tree/v0.11.18"
},
- "time": "2023-04-07T21:57:09+00:00"
+ "time": "2023-05-23T02:31:11+00:00"
},
{
"name": "pusher/pusher-php-server",
- "version": "7.2.2",
+ "version": "7.2.3",
"source": {
"type": "git",
"url": "https://github.com/pusher/pusher-http-php.git",
- "reference": "4ace4873873b06c25cecb2dd6d9fdcbf2f20b640"
+ "reference": "416e68dd5f640175ad5982131c42a7a666d1d8e9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/4ace4873873b06c25cecb2dd6d9fdcbf2f20b640",
- "reference": "4ace4873873b06c25cecb2dd6d9fdcbf2f20b640",
+ "url": "https://api.github.com/repos/pusher/pusher-http-php/zipball/416e68dd5f640175ad5982131c42a7a666d1d8e9",
+ "reference": "416e68dd5f640175ad5982131c42a7a666d1d8e9",
"shasum": ""
},
"require": {
@@ -6043,9 +6051,9 @@
],
"support": {
"issues": "https://github.com/pusher/pusher-http-php/issues",
- "source": "https://github.com/pusher/pusher-http-php/tree/7.2.2"
+ "source": "https://github.com/pusher/pusher-http-php/tree/7.2.3"
},
- "time": "2022-12-20T19:52:36+00:00"
+ "time": "2023-05-17T16:00:06+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -6403,33 +6411,33 @@
},
{
"name": "react/dns",
- "version": "v1.10.0",
+ "version": "v1.11.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/dns.git",
- "reference": "a5427e7dfa47713e438016905605819d101f238c"
+ "reference": "3be0fc8f1eb37d6875cd6f0c6c7d0be81435de9f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/dns/zipball/a5427e7dfa47713e438016905605819d101f238c",
- "reference": "a5427e7dfa47713e438016905605819d101f238c",
+ "url": "https://api.github.com/repos/reactphp/dns/zipball/3be0fc8f1eb37d6875cd6f0c6c7d0be81435de9f",
+ "reference": "3be0fc8f1eb37d6875cd6f0c6c7d0be81435de9f",
"shasum": ""
},
"require": {
"php": ">=5.3.0",
"react/cache": "^1.0 || ^0.6 || ^0.5",
"react/event-loop": "^1.2",
- "react/promise": "^3.0 || ^2.7 || ^1.2.1",
- "react/promise-timer": "^1.9"
+ "react/promise": "^3.0 || ^2.7 || ^1.2.1"
},
"require-dev": {
- "phpunit/phpunit": "^9.3 || ^4.8.35",
- "react/async": "^4 || ^3 || ^2"
+ "phpunit/phpunit": "^9.5 || ^4.8.35",
+ "react/async": "^4 || ^3 || ^2",
+ "react/promise-timer": "^1.9"
},
"type": "library",
"autoload": {
"psr-4": {
- "React\\Dns\\": "src"
+ "React\\Dns\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6467,49 +6475,43 @@
],
"support": {
"issues": "https://github.com/reactphp/dns/issues",
- "source": "https://github.com/reactphp/dns/tree/v1.10.0"
+ "source": "https://github.com/reactphp/dns/tree/v1.11.0"
},
"funding": [
{
- "url": "https://github.com/WyriHaximus",
- "type": "github"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
+ "url": "https://opencollective.com/reactphp",
+ "type": "open_collective"
}
],
- "time": "2022-09-08T12:22:46+00:00"
+ "time": "2023-06-02T12:45:26+00:00"
},
{
"name": "react/event-loop",
- "version": "v1.3.0",
+ "version": "v1.4.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/event-loop.git",
- "reference": "187fb56f46d424afb6ec4ad089269c72eec2e137"
+ "reference": "6e7e587714fff7a83dcc7025aee42ab3b265ae05"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/event-loop/zipball/187fb56f46d424afb6ec4ad089269c72eec2e137",
- "reference": "187fb56f46d424afb6ec4ad089269c72eec2e137",
+ "url": "https://api.github.com/repos/reactphp/event-loop/zipball/6e7e587714fff7a83dcc7025aee42ab3b265ae05",
+ "reference": "6e7e587714fff7a83dcc7025aee42ab3b265ae05",
"shasum": ""
},
"require": {
"php": ">=5.3.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35"
+ "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36"
},
"suggest": {
- "ext-event": "~1.0 for ExtEventLoop",
- "ext-pcntl": "For signal handling support when using the StreamSelectLoop",
- "ext-uv": "* for ExtUvLoop"
+ "ext-pcntl": "For signal handling support when using the StreamSelectLoop"
},
"type": "library",
"autoload": {
"psr-4": {
- "React\\EventLoop\\": "src"
+ "React\\EventLoop\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6545,32 +6547,28 @@
],
"support": {
"issues": "https://github.com/reactphp/event-loop/issues",
- "source": "https://github.com/reactphp/event-loop/tree/v1.3.0"
+ "source": "https://github.com/reactphp/event-loop/tree/v1.4.0"
},
"funding": [
{
- "url": "https://github.com/WyriHaximus",
- "type": "github"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
+ "url": "https://opencollective.com/reactphp",
+ "type": "open_collective"
}
],
- "time": "2022-03-17T11:10:22+00:00"
+ "time": "2023-05-05T10:11:24+00:00"
},
{
"name": "react/http",
- "version": "v1.8.0",
+ "version": "v1.9.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/http.git",
- "reference": "aa7512ee17258c88466de30f9cb44ec5f9df3ff3"
+ "reference": "bb3154dbaf2dfe3f0467f956a05f614a69d5f1d0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/http/zipball/aa7512ee17258c88466de30f9cb44ec5f9df3ff3",
- "reference": "aa7512ee17258c88466de30f9cb44ec5f9df3ff3",
+ "url": "https://api.github.com/repos/reactphp/http/zipball/bb3154dbaf2dfe3f0467f956a05f614a69d5f1d0",
+ "reference": "bb3154dbaf2dfe3f0467f956a05f614a69d5f1d0",
"shasum": ""
},
"require": {
@@ -6580,7 +6578,6 @@
"psr/http-message": "^1.0",
"react/event-loop": "^1.2",
"react/promise": "^3 || ^2.3 || ^1.2.1",
- "react/promise-stream": "^1.4",
"react/socket": "^1.12",
"react/stream": "^1.2",
"ringcentral/psr7": "^1.2"
@@ -6589,14 +6586,15 @@
"clue/http-proxy-react": "^1.8",
"clue/reactphp-ssh-proxy": "^1.4",
"clue/socks-react": "^1.4",
- "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35",
+ "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35",
"react/async": "^4 || ^3 || ^2",
+ "react/promise-stream": "^1.4",
"react/promise-timer": "^1.9"
},
"type": "library",
"autoload": {
"psr-4": {
- "React\\Http\\": "src"
+ "React\\Http\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -6641,39 +6639,35 @@
],
"support": {
"issues": "https://github.com/reactphp/http/issues",
- "source": "https://github.com/reactphp/http/tree/v1.8.0"
+ "source": "https://github.com/reactphp/http/tree/v1.9.0"
},
"funding": [
{
- "url": "https://github.com/WyriHaximus",
- "type": "github"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
+ "url": "https://opencollective.com/reactphp",
+ "type": "open_collective"
}
],
- "time": "2022-09-29T12:55:52+00:00"
+ "time": "2023-04-26T10:29:24+00:00"
},
{
"name": "react/promise",
- "version": "v2.9.0",
+ "version": "v2.10.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/promise.git",
- "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910"
+ "reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910",
- "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910",
+ "url": "https://api.github.com/repos/reactphp/promise/zipball/f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38",
+ "reference": "f913fb8cceba1e6644b7b90c4bfb678ed8a3ef38",
"shasum": ""
},
"require": {
"php": ">=5.4.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36"
+ "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.36"
},
"type": "library",
"autoload": {
@@ -6717,213 +6711,43 @@
],
"support": {
"issues": "https://github.com/reactphp/promise/issues",
- "source": "https://github.com/reactphp/promise/tree/v2.9.0"
+ "source": "https://github.com/reactphp/promise/tree/v2.10.0"
},
"funding": [
{
- "url": "https://github.com/WyriHaximus",
- "type": "github"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
+ "url": "https://opencollective.com/reactphp",
+ "type": "open_collective"
}
],
- "time": "2022-02-11T10:27:51+00:00"
- },
- {
- "name": "react/promise-stream",
- "version": "v1.5.0",
- "source": {
- "type": "git",
- "url": "https://github.com/reactphp/promise-stream.git",
- "reference": "e6d2805e09ad50c4896f65f5e8705fe4ee7731a3"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/reactphp/promise-stream/zipball/e6d2805e09ad50c4896f65f5e8705fe4ee7731a3",
- "reference": "e6d2805e09ad50c4896f65f5e8705fe4ee7731a3",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3",
- "react/promise": "^3 || ^2.1 || ^1.2",
- "react/stream": "^1.0 || ^0.7 || ^0.6 || ^0.5 || ^0.4.6"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions_include.php"
- ],
- "psr-4": {
- "React\\Promise\\Stream\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Christian Lück",
- "email": "christian@clue.engineering",
- "homepage": "https://clue.engineering/"
- },
- {
- "name": "Cees-Jan Kiewiet",
- "email": "reactphp@ceesjankiewiet.nl",
- "homepage": "https://wyrihaximus.net/"
- },
- {
- "name": "Jan Sorgalla",
- "email": "jsorgalla@gmail.com",
- "homepage": "https://sorgalla.com/"
- },
- {
- "name": "Chris Boden",
- "email": "cboden@gmail.com",
- "homepage": "https://cboden.dev/"
- }
- ],
- "description": "The missing link between Promise-land and Stream-land for ReactPHP",
- "homepage": "https://github.com/reactphp/promise-stream",
- "keywords": [
- "Buffer",
- "async",
- "promise",
- "reactphp",
- "stream",
- "unwrap"
- ],
- "support": {
- "issues": "https://github.com/reactphp/promise-stream/issues",
- "source": "https://github.com/reactphp/promise-stream/tree/v1.5.0"
- },
- "funding": [
- {
- "url": "https://github.com/WyriHaximus",
- "type": "github"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
- }
- ],
- "time": "2022-09-09T11:42:18+00:00"
- },
- {
- "name": "react/promise-timer",
- "version": "v1.9.0",
- "source": {
- "type": "git",
- "url": "https://github.com/reactphp/promise-timer.git",
- "reference": "aa7a73c74b8d8c0f622f5982ff7b0351bc29e495"
- },
- "dist": {
- "type": "zip",
- "url": "https://api.github.com/repos/reactphp/promise-timer/zipball/aa7a73c74b8d8c0f622f5982ff7b0351bc29e495",
- "reference": "aa7a73c74b8d8c0f622f5982ff7b0351bc29e495",
- "shasum": ""
- },
- "require": {
- "php": ">=5.3",
- "react/event-loop": "^1.2",
- "react/promise": "^3.0 || ^2.7.0 || ^1.2.1"
- },
- "require-dev": {
- "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35"
- },
- "type": "library",
- "autoload": {
- "files": [
- "src/functions_include.php"
- ],
- "psr-4": {
- "React\\Promise\\Timer\\": "src/"
- }
- },
- "notification-url": "https://packagist.org/downloads/",
- "license": [
- "MIT"
- ],
- "authors": [
- {
- "name": "Christian Lück",
- "email": "christian@clue.engineering",
- "homepage": "https://clue.engineering/"
- },
- {
- "name": "Cees-Jan Kiewiet",
- "email": "reactphp@ceesjankiewiet.nl",
- "homepage": "https://wyrihaximus.net/"
- },
- {
- "name": "Jan Sorgalla",
- "email": "jsorgalla@gmail.com",
- "homepage": "https://sorgalla.com/"
- },
- {
- "name": "Chris Boden",
- "email": "cboden@gmail.com",
- "homepage": "https://cboden.dev/"
- }
- ],
- "description": "A trivial implementation of timeouts for Promises, built on top of ReactPHP.",
- "homepage": "https://github.com/reactphp/promise-timer",
- "keywords": [
- "async",
- "event-loop",
- "promise",
- "reactphp",
- "timeout",
- "timer"
- ],
- "support": {
- "issues": "https://github.com/reactphp/promise-timer/issues",
- "source": "https://github.com/reactphp/promise-timer/tree/v1.9.0"
- },
- "funding": [
- {
- "url": "https://github.com/WyriHaximus",
- "type": "github"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
- }
- ],
- "time": "2022-06-13T13:41:03+00:00"
+ "time": "2023-05-02T15:15:43+00:00"
},
{
"name": "react/socket",
- "version": "v1.12.0",
+ "version": "v1.13.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/socket.git",
- "reference": "81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b"
+ "reference": "cff482bbad5848ecbe8b57da57e4e213b03619aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/socket/zipball/81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b",
- "reference": "81e1b4d7f5450ebd8d2e9a95bb008bb15ca95a7b",
+ "url": "https://api.github.com/repos/reactphp/socket/zipball/cff482bbad5848ecbe8b57da57e4e213b03619aa",
+ "reference": "cff482bbad5848ecbe8b57da57e4e213b03619aa",
"shasum": ""
},
"require": {
"evenement/evenement": "^3.0 || ^2.0 || ^1.0",
"php": ">=5.3.0",
- "react/dns": "^1.8",
+ "react/dns": "^1.11",
"react/event-loop": "^1.2",
"react/promise": "^3 || ^2.6 || ^1.2.1",
- "react/promise-timer": "^1.9",
"react/stream": "^1.2"
},
"require-dev": {
- "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35",
+ "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35",
"react/async": "^4 || ^3 || ^2",
- "react/promise-stream": "^1.4"
+ "react/promise-stream": "^1.4",
+ "react/promise-timer": "^1.9"
},
"type": "library",
"autoload": {
@@ -6967,32 +6791,28 @@
],
"support": {
"issues": "https://github.com/reactphp/socket/issues",
- "source": "https://github.com/reactphp/socket/tree/v1.12.0"
+ "source": "https://github.com/reactphp/socket/tree/v1.13.0"
},
"funding": [
{
- "url": "https://github.com/WyriHaximus",
- "type": "github"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
+ "url": "https://opencollective.com/reactphp",
+ "type": "open_collective"
}
],
- "time": "2022-08-25T12:32:25+00:00"
+ "time": "2023-06-07T10:28:34+00:00"
},
{
"name": "react/stream",
- "version": "v1.2.0",
+ "version": "v1.3.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/stream.git",
- "reference": "7a423506ee1903e89f1e08ec5f0ed430ff784ae9"
+ "reference": "6fbc9672905c7d5a885f2da2fc696f65840f4a66"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/stream/zipball/7a423506ee1903e89f1e08ec5f0ed430ff784ae9",
- "reference": "7a423506ee1903e89f1e08ec5f0ed430ff784ae9",
+ "url": "https://api.github.com/repos/reactphp/stream/zipball/6fbc9672905c7d5a885f2da2fc696f65840f4a66",
+ "reference": "6fbc9672905c7d5a885f2da2fc696f65840f4a66",
"shasum": ""
},
"require": {
@@ -7002,12 +6822,12 @@
},
"require-dev": {
"clue/stream-filter": "~1.2",
- "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35"
+ "phpunit/phpunit": "^9.5 || ^5.7 || ^4.8.35"
},
"type": "library",
"autoload": {
"psr-4": {
- "React\\Stream\\": "src"
+ "React\\Stream\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
@@ -7049,19 +6869,15 @@
],
"support": {
"issues": "https://github.com/reactphp/stream/issues",
- "source": "https://github.com/reactphp/stream/tree/v1.2.0"
+ "source": "https://github.com/reactphp/stream/tree/v1.3.0"
},
"funding": [
{
- "url": "https://github.com/WyriHaximus",
- "type": "github"
- },
- {
- "url": "https://github.com/clue",
- "type": "github"
+ "url": "https://opencollective.com/reactphp",
+ "type": "open_collective"
}
],
- "time": "2021-07-11T12:37:55+00:00"
+ "time": "2023-06-16T10:52:11+00:00"
},
{
"name": "ringcentral/psr7",
@@ -7126,16 +6942,16 @@
},
{
"name": "spatie/db-dumper",
- "version": "3.3.0",
+ "version": "3.4.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/db-dumper.git",
- "reference": "129b8254b2c9f10881a754a692bd9507b09a1893"
+ "reference": "bbd5ae0f331d47e6534eb307e256c11a65c8e24a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/db-dumper/zipball/129b8254b2c9f10881a754a692bd9507b09a1893",
- "reference": "129b8254b2c9f10881a754a692bd9507b09a1893",
+ "url": "https://api.github.com/repos/spatie/db-dumper/zipball/bbd5ae0f331d47e6534eb307e256c11a65c8e24a",
+ "reference": "bbd5ae0f331d47e6534eb307e256c11a65c8e24a",
"shasum": ""
},
"require": {
@@ -7143,7 +6959,7 @@
"symfony/process": "^5.0|^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^9.5"
+ "pestphp/pest": "^1.22"
},
"type": "library",
"autoload": {
@@ -7173,7 +6989,7 @@
"spatie"
],
"support": {
- "source": "https://github.com/spatie/db-dumper/tree/3.3.0"
+ "source": "https://github.com/spatie/db-dumper/tree/3.4.0"
},
"funding": [
{
@@ -7185,7 +7001,7 @@
"type": "github"
}
],
- "time": "2022-09-01T20:20:26+00:00"
+ "time": "2023-06-27T08:34:52+00:00"
},
{
"name": "spatie/image-optimizer",
@@ -7244,16 +7060,16 @@
},
{
"name": "spatie/laravel-backup",
- "version": "8.1.8",
+ "version": "8.1.11",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-backup.git",
- "reference": "75c12cf56a9eaed0c473130a1bdad1fe495d87cf"
+ "reference": "e4f5c3f6783d40a219a02bc99dc4171ecdd6d20c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/75c12cf56a9eaed0c473130a1bdad1fe495d87cf",
- "reference": "75c12cf56a9eaed0c473130a1bdad1fe495d87cf",
+ "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/e4f5c3f6783d40a219a02bc99dc4171ecdd6d20c",
+ "reference": "e4f5c3f6783d40a219a02bc99dc4171ecdd6d20c",
"shasum": ""
},
"require": {
@@ -7327,7 +7143,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-backup/issues",
- "source": "https://github.com/spatie/laravel-backup/tree/8.1.8"
+ "source": "https://github.com/spatie/laravel-backup/tree/8.1.11"
},
"funding": [
{
@@ -7339,7 +7155,7 @@
"type": "other"
}
],
- "time": "2023-04-12T08:23:50+00:00"
+ "time": "2023-06-02T08:56:10+00:00"
},
{
"name": "spatie/laravel-image-optimizer",
@@ -7411,16 +7227,16 @@
},
{
"name": "spatie/laravel-package-tools",
- "version": "1.14.2",
+ "version": "1.15.0",
"source": {
"type": "git",
"url": "https://github.com/spatie/laravel-package-tools.git",
- "reference": "bab62023a4745a61170ad5424184533685e73c2d"
+ "reference": "efab1844b8826443135201c4443690f032c3d533"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/bab62023a4745a61170ad5424184533685e73c2d",
- "reference": "bab62023a4745a61170ad5424184533685e73c2d",
+ "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/efab1844b8826443135201c4443690f032c3d533",
+ "reference": "efab1844b8826443135201c4443690f032c3d533",
"shasum": ""
},
"require": {
@@ -7459,7 +7275,7 @@
],
"support": {
"issues": "https://github.com/spatie/laravel-package-tools/issues",
- "source": "https://github.com/spatie/laravel-package-tools/tree/1.14.2"
+ "source": "https://github.com/spatie/laravel-package-tools/tree/1.15.0"
},
"funding": [
{
@@ -7467,7 +7283,7 @@
"type": "github"
}
],
- "time": "2023-03-14T16:41:21+00:00"
+ "time": "2023-04-27T08:09:01+00:00"
},
{
"name": "spatie/laravel-signal-aware-command",
@@ -7545,16 +7361,16 @@
},
{
"name": "spatie/temporary-directory",
- "version": "2.1.1",
+ "version": "2.1.2",
"source": {
"type": "git",
"url": "https://github.com/spatie/temporary-directory.git",
- "reference": "e2818d871783d520b319c2d38dc37c10ecdcde20"
+ "reference": "0c804873f6b4042aa8836839dca683c7d0f71831"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/e2818d871783d520b319c2d38dc37c10ecdcde20",
- "reference": "e2818d871783d520b319c2d38dc37c10ecdcde20",
+ "url": "https://api.github.com/repos/spatie/temporary-directory/zipball/0c804873f6b4042aa8836839dca683c7d0f71831",
+ "reference": "0c804873f6b4042aa8836839dca683c7d0f71831",
"shasum": ""
},
"require": {
@@ -7590,7 +7406,7 @@
],
"support": {
"issues": "https://github.com/spatie/temporary-directory/issues",
- "source": "https://github.com/spatie/temporary-directory/tree/2.1.1"
+ "source": "https://github.com/spatie/temporary-directory/tree/2.1.2"
},
"funding": [
{
@@ -7602,7 +7418,7 @@
"type": "github"
}
],
- "time": "2022-08-23T07:15:15+00:00"
+ "time": "2023-04-28T07:47:42+00:00"
},
{
"name": "stevebauman/purify",
@@ -7672,25 +7488,25 @@
},
{
"name": "symfony/cache",
- "version": "v6.2.8",
+ "version": "v6.3.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "76babfd82f6bfd8f6cbe851a153b95dd074ffc53"
+ "reference": "52cff7608ef6e38376ac11bd1fbb0a220107f066"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/76babfd82f6bfd8f6cbe851a153b95dd074ffc53",
- "reference": "76babfd82f6bfd8f6cbe851a153b95dd074ffc53",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/52cff7608ef6e38376ac11bd1fbb0a220107f066",
+ "reference": "52cff7608ef6e38376ac11bd1fbb0a220107f066",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/cache": "^2.0|^3.0",
"psr/log": "^1.1|^2|^3",
- "symfony/cache-contracts": "^1.1.7|^2|^3",
- "symfony/service-contracts": "^1.1|^2|^3",
- "symfony/var-exporter": "^6.2.7"
+ "symfony/cache-contracts": "^2.5|^3",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/var-exporter": "^6.2.10"
},
"conflict": {
"doctrine/dbal": "<2.13.1",
@@ -7706,7 +7522,7 @@
"require-dev": {
"cache/integration-tests": "dev-master",
"doctrine/dbal": "^2.13.1|^3.0",
- "predis/predis": "^1.1",
+ "predis/predis": "^1.1|^2.0",
"psr/simple-cache": "^1.0|^2.0|^3.0",
"symfony/config": "^5.4|^6.0",
"symfony/dependency-injection": "^5.4|^6.0",
@@ -7748,7 +7564,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v6.2.8"
+ "source": "https://github.com/symfony/cache/tree/v6.3.1"
},
"funding": [
{
@@ -7764,33 +7580,30 @@
"type": "tidelift"
}
],
- "time": "2023-03-30T07:37:32+00:00"
+ "time": "2023-06-24T11:51:27+00:00"
},
{
"name": "symfony/cache-contracts",
- "version": "v3.2.1",
+ "version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache-contracts.git",
- "reference": "eeb71f04b6f7f34ca6d15633df82e014528b1632"
+ "reference": "ad945640ccc0ae6e208bcea7d7de4b39b569896b"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/eeb71f04b6f7f34ca6d15633df82e014528b1632",
- "reference": "eeb71f04b6f7f34ca6d15633df82e014528b1632",
+ "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/ad945640ccc0ae6e208bcea7d7de4b39b569896b",
+ "reference": "ad945640ccc0ae6e208bcea7d7de4b39b569896b",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/cache": "^3.0"
},
- "suggest": {
- "symfony/cache-implementation": ""
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.3-dev"
+ "dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -7827,7 +7640,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/cache-contracts/tree/v3.2.1"
+ "source": "https://github.com/symfony/cache-contracts/tree/v3.3.0"
},
"funding": [
{
@@ -7843,27 +7656,27 @@
"type": "tidelift"
}
],
- "time": "2023-03-01T10:32:47+00:00"
+ "time": "2023-05-23T14:45:45+00:00"
},
{
"name": "symfony/console",
- "version": "v6.2.8",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b"
+ "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/3582d68a64a86ec25240aaa521ec8bc2342b369b",
- "reference": "3582d68a64a86ec25240aaa521ec8bc2342b369b",
+ "url": "https://api.github.com/repos/symfony/console/zipball/8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7",
+ "reference": "8788808b07cf0bdd6e4b7fdd23d8ddb1470c83b7",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/service-contracts": "^2.5|^3",
"symfony/string": "^5.4|^6.0"
},
"conflict": {
@@ -7885,12 +7698,6 @@
"symfony/process": "^5.4|^6.0",
"symfony/var-dumper": "^5.4|^6.0"
},
- "suggest": {
- "psr/log": "For using the console logger",
- "symfony/event-dispatcher": "",
- "symfony/lock": "",
- "symfony/process": ""
- },
"type": "library",
"autoload": {
"psr-4": {
@@ -7923,7 +7730,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.2.8"
+ "source": "https://github.com/symfony/console/tree/v6.3.0"
},
"funding": [
{
@@ -7939,20 +7746,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-29T21:42:15+00:00"
+ "time": "2023-05-29T12:49:39+00:00"
},
{
"name": "symfony/css-selector",
- "version": "v6.2.7",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/css-selector.git",
- "reference": "aedf3cb0f5b929ec255d96bbb4909e9932c769e0"
+ "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/css-selector/zipball/aedf3cb0f5b929ec255d96bbb4909e9932c769e0",
- "reference": "aedf3cb0f5b929ec255d96bbb4909e9932c769e0",
+ "url": "https://api.github.com/repos/symfony/css-selector/zipball/88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf",
+ "reference": "88453e64cd86c5b60e8d2fb2c6f953bbc353ffbf",
"shasum": ""
},
"require": {
@@ -7988,7 +7795,7 @@
"description": "Converts CSS selectors to XPath expressions",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/css-selector/tree/v6.2.7"
+ "source": "https://github.com/symfony/css-selector/tree/v6.3.0"
},
"funding": [
{
@@ -8004,20 +7811,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:44:56+00:00"
+ "time": "2023-03-20T16:43:42+00:00"
},
{
"name": "symfony/deprecation-contracts",
- "version": "v3.2.1",
+ "version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/deprecation-contracts.git",
- "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e"
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e",
- "reference": "e2d1534420bd723d0ef5aec58a22c5fe60ce6f5e",
+ "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf",
+ "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf",
"shasum": ""
},
"require": {
@@ -8026,7 +7833,7 @@
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.3-dev"
+ "dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -8055,7 +7862,7 @@
"description": "A generic function and convention to trigger deprecation notices",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/deprecation-contracts/tree/v3.2.1"
+ "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0"
},
"funding": [
{
@@ -8071,20 +7878,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-01T10:25:55+00:00"
+ "time": "2023-05-23T14:45:45+00:00"
},
{
"name": "symfony/error-handler",
- "version": "v6.2.9",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/error-handler.git",
- "reference": "e95f1273b3953c3b5e5341172dae838bacee11ee"
+ "reference": "99d2d814a6351461af350ead4d963bd67451236f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/error-handler/zipball/e95f1273b3953c3b5e5341172dae838bacee11ee",
- "reference": "e95f1273b3953c3b5e5341172dae838bacee11ee",
+ "url": "https://api.github.com/repos/symfony/error-handler/zipball/99d2d814a6351461af350ead4d963bd67451236f",
+ "reference": "99d2d814a6351461af350ead4d963bd67451236f",
"shasum": ""
},
"require": {
@@ -8092,8 +7899,11 @@
"psr/log": "^1|^2|^3",
"symfony/var-dumper": "^5.4|^6.0"
},
+ "conflict": {
+ "symfony/deprecation-contracts": "<2.5"
+ },
"require-dev": {
- "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/http-kernel": "^5.4|^6.0",
"symfony/serializer": "^5.4|^6.0"
},
@@ -8126,7 +7936,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.2.9"
+ "source": "https://github.com/symfony/error-handler/tree/v6.3.0"
},
"funding": [
{
@@ -8142,28 +7952,29 @@
"type": "tidelift"
}
],
- "time": "2023-04-11T16:03:19+00:00"
+ "time": "2023-05-10T12:03:13+00:00"
},
{
"name": "symfony/event-dispatcher",
- "version": "v6.2.8",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher.git",
- "reference": "04046f35fd7d72f9646e721fc2ecb8f9c67d3339"
+ "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/04046f35fd7d72f9646e721fc2ecb8f9c67d3339",
- "reference": "04046f35fd7d72f9646e721fc2ecb8f9c67d3339",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa",
+ "reference": "3af8ac1a3f98f6dbc55e10ae59c9e44bfc38dfaa",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "symfony/event-dispatcher-contracts": "^2|^3"
+ "symfony/event-dispatcher-contracts": "^2.5|^3"
},
"conflict": {
- "symfony/dependency-injection": "<5.4"
+ "symfony/dependency-injection": "<5.4",
+ "symfony/service-contracts": "<2.5"
},
"provide": {
"psr/event-dispatcher-implementation": "1.0",
@@ -8176,13 +7987,9 @@
"symfony/error-handler": "^5.4|^6.0",
"symfony/expression-language": "^5.4|^6.0",
"symfony/http-foundation": "^5.4|^6.0",
- "symfony/service-contracts": "^1.1|^2|^3",
+ "symfony/service-contracts": "^2.5|^3",
"symfony/stopwatch": "^5.4|^6.0"
},
- "suggest": {
- "symfony/dependency-injection": "",
- "symfony/http-kernel": ""
- },
"type": "library",
"autoload": {
"psr-4": {
@@ -8209,7 +8016,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/v6.2.8"
+ "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.0"
},
"funding": [
{
@@ -8225,33 +8032,30 @@
"type": "tidelift"
}
],
- "time": "2023-03-20T16:06:02+00:00"
+ "time": "2023-04-21T14:41:17+00:00"
},
{
"name": "symfony/event-dispatcher-contracts",
- "version": "v3.2.1",
+ "version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/event-dispatcher-contracts.git",
- "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd"
+ "reference": "a76aed96a42d2b521153fb382d418e30d18b59df"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/0ad3b6f1e4e2da5690fefe075cd53a238646d8dd",
- "reference": "0ad3b6f1e4e2da5690fefe075cd53a238646d8dd",
+ "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df",
+ "reference": "a76aed96a42d2b521153fb382d418e30d18b59df",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/event-dispatcher": "^1"
},
- "suggest": {
- "symfony/event-dispatcher-implementation": ""
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.3-dev"
+ "dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -8288,7 +8092,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.2.1"
+ "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0"
},
"funding": [
{
@@ -8304,20 +8108,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-01T10:32:47+00:00"
+ "time": "2023-05-23T14:45:45+00:00"
},
{
"name": "symfony/finder",
- "version": "v6.2.7",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb"
+ "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/20808dc6631aecafbe67c186af5dcb370be3a0eb",
- "reference": "20808dc6631aecafbe67c186af5dcb370be3a0eb",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/d9b01ba073c44cef617c7907ce2419f8d00d75e2",
+ "reference": "d9b01ba073c44cef617c7907ce2419f8d00d75e2",
"shasum": ""
},
"require": {
@@ -8352,7 +8156,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.2.7"
+ "source": "https://github.com/symfony/finder/tree/v6.3.0"
},
"funding": [
{
@@ -8368,28 +8172,32 @@
"type": "tidelift"
}
],
- "time": "2023-02-16T09:57:23+00:00"
+ "time": "2023-04-02T01:25:41+00:00"
},
{
"name": "symfony/http-client",
- "version": "v6.2.9",
+ "version": "v6.3.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client.git",
- "reference": "7daf5d24c21a683164688b95bb73b7a4bd3b32fc"
+ "reference": "1c828a06aef2f5eeba42026dfc532d4fc5406123"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client/zipball/7daf5d24c21a683164688b95bb73b7a4bd3b32fc",
- "reference": "7daf5d24c21a683164688b95bb73b7a4bd3b32fc",
+ "url": "https://api.github.com/repos/symfony/http-client/zipball/1c828a06aef2f5eeba42026dfc532d4fc5406123",
+ "reference": "1c828a06aef2f5eeba42026dfc532d4fc5406123",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.1|^3",
+ "symfony/deprecation-contracts": "^2.5|^3",
"symfony/http-client-contracts": "^3",
- "symfony/service-contracts": "^1.0|^2|^3"
+ "symfony/service-contracts": "^2.5|^3"
+ },
+ "conflict": {
+ "php-http/discovery": "<1.15",
+ "symfony/http-foundation": "<6.3"
},
"provide": {
"php-http/async-client-implementation": "*",
@@ -8440,7 +8248,7 @@
"http"
],
"support": {
- "source": "https://github.com/symfony/http-client/tree/v6.2.9"
+ "source": "https://github.com/symfony/http-client/tree/v6.3.1"
},
"funding": [
{
@@ -8456,32 +8264,29 @@
"type": "tidelift"
}
],
- "time": "2023-04-11T16:03:19+00:00"
+ "time": "2023-06-24T11:51:27+00:00"
},
{
"name": "symfony/http-client-contracts",
- "version": "v3.2.1",
+ "version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-client-contracts.git",
- "reference": "df2ecd6cb70e73c1080e6478aea85f5f4da2c48b"
+ "reference": "3b66325d0176b4ec826bffab57c9037d759c31fb"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/df2ecd6cb70e73c1080e6478aea85f5f4da2c48b",
- "reference": "df2ecd6cb70e73c1080e6478aea85f5f4da2c48b",
+ "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/3b66325d0176b4ec826bffab57c9037d759c31fb",
+ "reference": "3b66325d0176b4ec826bffab57c9037d759c31fb",
"shasum": ""
},
"require": {
"php": ">=8.1"
},
- "suggest": {
- "symfony/http-client-implementation": ""
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.3-dev"
+ "dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -8521,7 +8326,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/http-client-contracts/tree/v3.2.1"
+ "source": "https://github.com/symfony/http-client-contracts/tree/v3.3.0"
},
"funding": [
{
@@ -8537,32 +8342,34 @@
"type": "tidelift"
}
],
- "time": "2023-03-01T10:32:47+00:00"
+ "time": "2023-05-23T14:45:45+00:00"
},
{
"name": "symfony/http-foundation",
- "version": "v6.2.8",
+ "version": "v6.3.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-foundation.git",
- "reference": "511a524affeefc191939348823ac75e9921c2112"
+ "reference": "e0ad0d153e1c20069250986cd9e9dd1ccebb0d66"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-foundation/zipball/511a524affeefc191939348823ac75e9921c2112",
- "reference": "511a524affeefc191939348823ac75e9921c2112",
+ "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e0ad0d153e1c20069250986cd9e9dd1ccebb0d66",
+ "reference": "e0ad0d153e1c20069250986cd9e9dd1ccebb0d66",
"shasum": ""
},
"require": {
"php": ">=8.1",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/polyfill-mbstring": "~1.1"
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/polyfill-mbstring": "~1.1",
+ "symfony/polyfill-php83": "^1.27"
},
"conflict": {
"symfony/cache": "<6.2"
},
"require-dev": {
- "predis/predis": "~1.0",
+ "doctrine/dbal": "^2.13.1|^3.0",
+ "predis/predis": "^1.1|^2.0",
"symfony/cache": "^5.4|^6.0",
"symfony/dependency-injection": "^5.4|^6.0",
"symfony/expression-language": "^5.4|^6.0",
@@ -8570,9 +8377,6 @@
"symfony/mime": "^5.4|^6.0",
"symfony/rate-limiter": "^5.2|^6.0"
},
- "suggest": {
- "symfony/mime": "To use the file extension guesser"
- },
"type": "library",
"autoload": {
"psr-4": {
@@ -8599,7 +8403,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.2.8"
+ "source": "https://github.com/symfony/http-foundation/tree/v6.3.1"
},
"funding": [
{
@@ -8615,29 +8419,29 @@
"type": "tidelift"
}
],
- "time": "2023-03-29T21:42:15+00:00"
+ "time": "2023-06-24T11:51:27+00:00"
},
{
"name": "symfony/http-kernel",
- "version": "v6.2.9",
+ "version": "v6.3.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/http-kernel.git",
- "reference": "02246510cf7031726f7237138d61b796b95799b3"
+ "reference": "161e16fd2e35fb4881a43bc8b383dfd5be4ac374"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/http-kernel/zipball/02246510cf7031726f7237138d61b796b95799b3",
- "reference": "02246510cf7031726f7237138d61b796b95799b3",
+ "url": "https://api.github.com/repos/symfony/http-kernel/zipball/161e16fd2e35fb4881a43bc8b383dfd5be4ac374",
+ "reference": "161e16fd2e35fb4881a43bc8b383dfd5be4ac374",
"shasum": ""
},
"require": {
"php": ">=8.1",
"psr/log": "^1|^2|^3",
- "symfony/deprecation-contracts": "^2.1|^3",
- "symfony/error-handler": "^6.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/error-handler": "^6.3",
"symfony/event-dispatcher": "^5.4|^6.0",
- "symfony/http-foundation": "^5.4.21|^6.2.7",
+ "symfony/http-foundation": "^6.2.7",
"symfony/polyfill-ctype": "^1.8"
},
"conflict": {
@@ -8645,15 +8449,18 @@
"symfony/cache": "<5.4",
"symfony/config": "<6.1",
"symfony/console": "<5.4",
- "symfony/dependency-injection": "<6.2",
+ "symfony/dependency-injection": "<6.3",
"symfony/doctrine-bridge": "<5.4",
"symfony/form": "<5.4",
"symfony/http-client": "<5.4",
+ "symfony/http-client-contracts": "<2.5",
"symfony/mailer": "<5.4",
"symfony/messenger": "<5.4",
"symfony/translation": "<5.4",
+ "symfony/translation-contracts": "<2.5",
"symfony/twig-bridge": "<5.4",
"symfony/validator": "<5.4",
+ "symfony/var-dumper": "<6.3",
"twig/twig": "<2.13"
},
"provide": {
@@ -8662,28 +8469,27 @@
"require-dev": {
"psr/cache": "^1.0|^2.0|^3.0",
"symfony/browser-kit": "^5.4|^6.0",
+ "symfony/clock": "^6.2",
"symfony/config": "^6.1",
"symfony/console": "^5.4|^6.0",
"symfony/css-selector": "^5.4|^6.0",
- "symfony/dependency-injection": "^6.2",
+ "symfony/dependency-injection": "^6.3",
"symfony/dom-crawler": "^5.4|^6.0",
"symfony/expression-language": "^5.4|^6.0",
"symfony/finder": "^5.4|^6.0",
- "symfony/http-client-contracts": "^1.1|^2|^3",
+ "symfony/http-client-contracts": "^2.5|^3",
"symfony/process": "^5.4|^6.0",
+ "symfony/property-access": "^5.4.5|^6.0.5",
"symfony/routing": "^5.4|^6.0",
+ "symfony/serializer": "^6.3",
"symfony/stopwatch": "^5.4|^6.0",
"symfony/translation": "^5.4|^6.0",
- "symfony/translation-contracts": "^1.1|^2|^3",
+ "symfony/translation-contracts": "^2.5|^3",
"symfony/uid": "^5.4|^6.0",
+ "symfony/validator": "^6.3",
+ "symfony/var-exporter": "^6.2",
"twig/twig": "^2.13|^3.0.4"
},
- "suggest": {
- "symfony/browser-kit": "",
- "symfony/config": "",
- "symfony/console": "",
- "symfony/dependency-injection": ""
- },
"type": "library",
"autoload": {
"psr-4": {
@@ -8710,7 +8516,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.2.9"
+ "source": "https://github.com/symfony/http-kernel/tree/v6.3.1"
},
"funding": [
{
@@ -8726,20 +8532,20 @@
"type": "tidelift"
}
],
- "time": "2023-04-13T16:41:43+00:00"
+ "time": "2023-06-26T06:07:32+00:00"
},
{
"name": "symfony/mailer",
- "version": "v6.2.8",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailer.git",
- "reference": "bfcfa015c67e19c6fdb7ca6fe70700af1e740a17"
+ "reference": "7b03d9be1dea29bfec0a6c7b603f5072a4c97435"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailer/zipball/bfcfa015c67e19c6fdb7ca6fe70700af1e740a17",
- "reference": "bfcfa015c67e19c6fdb7ca6fe70700af1e740a17",
+ "url": "https://api.github.com/repos/symfony/mailer/zipball/7b03d9be1dea29bfec0a6c7b603f5072a4c97435",
+ "reference": "7b03d9be1dea29bfec0a6c7b603f5072a4c97435",
"shasum": ""
},
"require": {
@@ -8749,9 +8555,10 @@
"psr/log": "^1|^2|^3",
"symfony/event-dispatcher": "^5.4|^6.0",
"symfony/mime": "^6.2",
- "symfony/service-contracts": "^1.1|^2|^3"
+ "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",
@@ -8789,7 +8596,7 @@
"description": "Helps sending emails",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailer/tree/v6.2.8"
+ "source": "https://github.com/symfony/mailer/tree/v6.3.0"
},
"funding": [
{
@@ -8805,28 +8612,32 @@
"type": "tidelift"
}
],
- "time": "2023-03-14T15:00:05+00:00"
+ "time": "2023-05-29T12:49:39+00:00"
},
{
"name": "symfony/mailgun-mailer",
- "version": "v6.2.7",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/mailgun-mailer.git",
- "reference": "9e27b8ec2f6ee7575c6229a61be1578a5a4b21ee"
+ "reference": "2fafefe8683a93155aceb6cca622c7cee2e27174"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/9e27b8ec2f6ee7575c6229a61be1578a5a4b21ee",
- "reference": "9e27b8ec2f6ee7575c6229a61be1578a5a4b21ee",
+ "url": "https://api.github.com/repos/symfony/mailgun-mailer/zipball/2fafefe8683a93155aceb6cca622c7cee2e27174",
+ "reference": "2fafefe8683a93155aceb6cca622c7cee2e27174",
"shasum": ""
},
"require": {
"php": ">=8.1",
"symfony/mailer": "^5.4.21|^6.2.7"
},
+ "conflict": {
+ "symfony/http-foundation": "<6.2"
+ },
"require-dev": {
- "symfony/http-client": "^5.4|^6.0"
+ "symfony/http-client": "^5.4|^6.0",
+ "symfony/webhook": "^6.3"
},
"type": "symfony-mailer-bridge",
"autoload": {
@@ -8854,7 +8665,7 @@
"description": "Symfony Mailgun Mailer Bridge",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/mailgun-mailer/tree/v6.2.7"
+ "source": "https://github.com/symfony/mailgun-mailer/tree/v6.3.0"
},
"funding": [
{
@@ -8870,20 +8681,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-21T10:35:38+00:00"
+ "time": "2023-05-02T16:15:19+00:00"
},
{
"name": "symfony/mime",
- "version": "v6.2.7",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/mime.git",
- "reference": "62e341f80699badb0ad70b31149c8df89a2d778e"
+ "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/mime/zipball/62e341f80699badb0ad70b31149c8df89a2d778e",
- "reference": "62e341f80699badb0ad70b31149c8df89a2d778e",
+ "url": "https://api.github.com/repos/symfony/mime/zipball/7b5d2121858cd6efbed778abce9cfdd7ab1f62ad",
+ "reference": "7b5d2121858cd6efbed778abce9cfdd7ab1f62ad",
"shasum": ""
},
"require": {
@@ -8937,7 +8748,7 @@
"mime-type"
],
"support": {
- "source": "https://github.com/symfony/mime/tree/v6.2.7"
+ "source": "https://github.com/symfony/mime/tree/v6.3.0"
},
"funding": [
{
@@ -8953,7 +8764,7 @@
"type": "tidelift"
}
],
- "time": "2023-02-24T10:42:00+00:00"
+ "time": "2023-04-28T15:57:00+00:00"
},
{
"name": "symfony/polyfill-ctype",
@@ -9531,6 +9342,83 @@
],
"time": "2022-11-03T14:55:06+00:00"
},
+ {
+ "name": "symfony/polyfill-php83",
+ "version": "v1.27.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/polyfill-php83.git",
+ "reference": "508c652ba3ccf69f8c97f251534f229791b52a57"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/508c652ba3ccf69f8c97f251534f229791b52a57",
+ "reference": "508c652ba3ccf69f8c97f251534f229791b52a57",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=7.1",
+ "symfony/polyfill-php80": "^1.14"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "1.27-dev"
+ },
+ "thanks": {
+ "name": "symfony/polyfill",
+ "url": "https://github.com/symfony/polyfill"
+ }
+ },
+ "autoload": {
+ "files": [
+ "bootstrap.php"
+ ],
+ "psr-4": {
+ "Symfony\\Polyfill\\Php83\\": ""
+ }
+ },
+ "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": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions",
+ "homepage": "https://symfony.com",
+ "keywords": [
+ "compatibility",
+ "polyfill",
+ "portable",
+ "shim"
+ ],
+ "support": {
+ "source": "https://github.com/symfony/polyfill-php83/tree/v1.27.0"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2022-11-03T14:55:06+00:00"
+ },
{
"name": "symfony/polyfill-uuid",
"version": "v1.27.0",
@@ -9615,16 +9503,16 @@
},
{
"name": "symfony/process",
- "version": "v6.2.8",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/process.git",
- "reference": "75ed64103df4f6615e15a7fe38b8111099f47416"
+ "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/process/zipball/75ed64103df4f6615e15a7fe38b8111099f47416",
- "reference": "75ed64103df4f6615e15a7fe38b8111099f47416",
+ "url": "https://api.github.com/repos/symfony/process/zipball/8741e3ed7fe2e91ec099e02446fb86667a0f1628",
+ "reference": "8741e3ed7fe2e91ec099e02446fb86667a0f1628",
"shasum": ""
},
"require": {
@@ -9656,7 +9544,7 @@
"description": "Executes commands in sub-processes",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/process/tree/v6.2.8"
+ "source": "https://github.com/symfony/process/tree/v6.3.0"
},
"funding": [
{
@@ -9672,36 +9560,36 @@
"type": "tidelift"
}
],
- "time": "2023-03-09T16:20:02+00:00"
+ "time": "2023-05-19T08:06:44+00:00"
},
{
"name": "symfony/psr-http-message-bridge",
- "version": "v2.1.4",
+ "version": "v2.2.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/psr-http-message-bridge.git",
- "reference": "a125b93ef378c492e274f217874906fb9babdebb"
+ "reference": "28a732c05bbad801304ad5a5c674cf2970508993"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/a125b93ef378c492e274f217874906fb9babdebb",
- "reference": "a125b93ef378c492e274f217874906fb9babdebb",
+ "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/28a732c05bbad801304ad5a5c674cf2970508993",
+ "reference": "28a732c05bbad801304ad5a5c674cf2970508993",
"shasum": ""
},
"require": {
- "php": ">=7.1",
- "psr/http-message": "^1.0",
- "symfony/http-foundation": "^4.4 || ^5.0 || ^6.0"
+ "php": ">=7.2.5",
+ "psr/http-message": "^1.0 || ^2.0",
+ "symfony/http-foundation": "^5.4 || ^6.0"
},
"require-dev": {
"nyholm/psr7": "^1.1",
"psr/log": "^1.1 || ^2 || ^3",
- "symfony/browser-kit": "^4.4 || ^5.0 || ^6.0",
- "symfony/config": "^4.4 || ^5.0 || ^6.0",
- "symfony/event-dispatcher": "^4.4 || ^5.0 || ^6.0",
- "symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0",
- "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0",
- "symfony/phpunit-bridge": "^5.4@dev || ^6.0"
+ "symfony/browser-kit": "^5.4 || ^6.0",
+ "symfony/config": "^5.4 || ^6.0",
+ "symfony/event-dispatcher": "^5.4 || ^6.0",
+ "symfony/framework-bundle": "^5.4 || ^6.0",
+ "symfony/http-kernel": "^5.4 || ^6.0",
+ "symfony/phpunit-bridge": "^6.2"
},
"suggest": {
"nyholm/psr7": "For a super lightweight PSR-7/17 implementation"
@@ -9709,7 +9597,7 @@
"type": "symfony-bridge",
"extra": {
"branch-alias": {
- "dev-main": "2.1-dev"
+ "dev-main": "2.2-dev"
}
},
"autoload": {
@@ -9744,7 +9632,7 @@
],
"support": {
"issues": "https://github.com/symfony/psr-http-message-bridge/issues",
- "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.4"
+ "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.2.0"
},
"funding": [
{
@@ -9760,20 +9648,20 @@
"type": "tidelift"
}
],
- "time": "2022-11-28T22:46:34+00:00"
+ "time": "2023-04-21T08:40:19+00:00"
},
{
"name": "symfony/routing",
- "version": "v6.2.8",
+ "version": "v6.3.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/routing.git",
- "reference": "69062e2823f03b82265d73a966999660f0e1e404"
+ "reference": "d37ad1779c38b8eb71996d17dc13030dcb7f9cf5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/routing/zipball/69062e2823f03b82265d73a966999660f0e1e404",
- "reference": "69062e2823f03b82265d73a966999660f0e1e404",
+ "url": "https://api.github.com/repos/symfony/routing/zipball/d37ad1779c38b8eb71996d17dc13030dcb7f9cf5",
+ "reference": "d37ad1779c38b8eb71996d17dc13030dcb7f9cf5",
"shasum": ""
},
"require": {
@@ -9794,12 +9682,6 @@
"symfony/http-foundation": "^5.4|^6.0",
"symfony/yaml": "^5.4|^6.0"
},
- "suggest": {
- "symfony/config": "For using the all-in-one router or any loader",
- "symfony/expression-language": "For using expression matching",
- "symfony/http-foundation": "For using a Symfony Request object",
- "symfony/yaml": "For using the YAML loader"
- },
"type": "library",
"autoload": {
"psr-4": {
@@ -9832,7 +9714,7 @@
"url"
],
"support": {
- "source": "https://github.com/symfony/routing/tree/v6.2.8"
+ "source": "https://github.com/symfony/routing/tree/v6.3.1"
},
"funding": [
{
@@ -9848,20 +9730,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-14T15:00:05+00:00"
+ "time": "2023-06-05T15:30:22+00:00"
},
{
"name": "symfony/service-contracts",
- "version": "v3.2.1",
+ "version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/service-contracts.git",
- "reference": "a8c9cedf55f314f3a186041d19537303766df09a"
+ "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a8c9cedf55f314f3a186041d19537303766df09a",
- "reference": "a8c9cedf55f314f3a186041d19537303766df09a",
+ "url": "https://api.github.com/repos/symfony/service-contracts/zipball/40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
+ "reference": "40da9cc13ec349d9e4966ce18b5fbcd724ab10a4",
"shasum": ""
},
"require": {
@@ -9871,13 +9753,10 @@
"conflict": {
"ext-psr": "<1.1|>=2"
},
- "suggest": {
- "symfony/service-implementation": ""
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.3-dev"
+ "dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -9917,7 +9796,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/service-contracts/tree/v3.2.1"
+ "source": "https://github.com/symfony/service-contracts/tree/v3.3.0"
},
"funding": [
{
@@ -9933,20 +9812,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-01T10:32:47+00:00"
+ "time": "2023-05-23T14:45:45+00:00"
},
{
"name": "symfony/string",
- "version": "v6.2.8",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef"
+ "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/193e83bbd6617d6b2151c37fff10fa7168ebddef",
- "reference": "193e83bbd6617d6b2151c37fff10fa7168ebddef",
+ "url": "https://api.github.com/repos/symfony/string/zipball/f2e190ee75ff0f5eced645ec0be5c66fac81f51f",
+ "reference": "f2e190ee75ff0f5eced645ec0be5c66fac81f51f",
"shasum": ""
},
"require": {
@@ -9957,13 +9836,13 @@
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "symfony/translation-contracts": "<2.0"
+ "symfony/translation-contracts": "<2.5"
},
"require-dev": {
"symfony/error-handler": "^5.4|^6.0",
"symfony/http-client": "^5.4|^6.0",
"symfony/intl": "^6.2",
- "symfony/translation-contracts": "^2.0|^3.0",
+ "symfony/translation-contracts": "^2.5|^3.0",
"symfony/var-exporter": "^5.4|^6.0"
},
"type": "library",
@@ -10003,7 +9882,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.2.8"
+ "source": "https://github.com/symfony/string/tree/v6.3.0"
},
"funding": [
{
@@ -10019,32 +9898,34 @@
"type": "tidelift"
}
],
- "time": "2023-03-20T16:06:02+00:00"
+ "time": "2023-03-21T21:06:29+00:00"
},
{
"name": "symfony/translation",
- "version": "v6.2.8",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation.git",
- "reference": "817535dbb1721df8b3a8f2489dc7e50bcd6209b5"
+ "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation/zipball/817535dbb1721df8b3a8f2489dc7e50bcd6209b5",
- "reference": "817535dbb1721df8b3a8f2489dc7e50bcd6209b5",
+ "url": "https://api.github.com/repos/symfony/translation/zipball/f72b2cba8f79dd9d536f534f76874b58ad37876f",
+ "reference": "f72b2cba8f79dd9d536f534f76874b58ad37876f",
"shasum": ""
},
"require": {
"php": ">=8.1",
"symfony/polyfill-mbstring": "~1.0",
- "symfony/translation-contracts": "^2.3|^3.0"
+ "symfony/translation-contracts": "^2.5|^3.0"
},
"conflict": {
"symfony/config": "<5.4",
"symfony/console": "<5.4",
"symfony/dependency-injection": "<5.4",
+ "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"
},
@@ -10058,20 +9939,14 @@
"symfony/console": "^5.4|^6.0",
"symfony/dependency-injection": "^5.4|^6.0",
"symfony/finder": "^5.4|^6.0",
- "symfony/http-client-contracts": "^1.1|^2.0|^3.0",
+ "symfony/http-client-contracts": "^2.5|^3.0",
"symfony/http-kernel": "^5.4|^6.0",
"symfony/intl": "^5.4|^6.0",
"symfony/polyfill-intl-icu": "^1.21",
"symfony/routing": "^5.4|^6.0",
- "symfony/service-contracts": "^1.1.2|^2|^3",
+ "symfony/service-contracts": "^2.5|^3",
"symfony/yaml": "^5.4|^6.0"
},
- "suggest": {
- "nikic/php-parser": "To use PhpAstExtractor",
- "psr/log-implementation": "To use logging capability in translator",
- "symfony/config": "",
- "symfony/yaml": ""
- },
"type": "library",
"autoload": {
"files": [
@@ -10101,7 +9976,7 @@
"description": "Provides tools to internationalize your application",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/translation/tree/v6.2.8"
+ "source": "https://github.com/symfony/translation/tree/v6.3.0"
},
"funding": [
{
@@ -10117,32 +9992,29 @@
"type": "tidelift"
}
],
- "time": "2023-03-31T09:14:44+00:00"
+ "time": "2023-05-19T12:46:45+00:00"
},
{
"name": "symfony/translation-contracts",
- "version": "v3.2.1",
+ "version": "v3.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/translation-contracts.git",
- "reference": "dfec258b9dd17a6b24420d464c43bffe347441c8"
+ "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/dfec258b9dd17a6b24420d464c43bffe347441c8",
- "reference": "dfec258b9dd17a6b24420d464c43bffe347441c8",
+ "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/02c24deb352fb0d79db5486c0c79905a85e37e86",
+ "reference": "02c24deb352fb0d79db5486c0c79905a85e37e86",
"shasum": ""
},
"require": {
"php": ">=8.1"
},
- "suggest": {
- "symfony/translation-implementation": ""
- },
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "3.3-dev"
+ "dev-main": "3.4-dev"
},
"thanks": {
"name": "symfony/contracts",
@@ -10182,7 +10054,7 @@
"standards"
],
"support": {
- "source": "https://github.com/symfony/translation-contracts/tree/v3.2.1"
+ "source": "https://github.com/symfony/translation-contracts/tree/v3.3.0"
},
"funding": [
{
@@ -10198,20 +10070,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-01T10:32:47+00:00"
+ "time": "2023-05-30T17:17:10+00:00"
},
{
"name": "symfony/uid",
- "version": "v6.2.7",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/uid.git",
- "reference": "d30c72a63897cfa043e1de4d4dd2ffa9ecefcdc0"
+ "reference": "01b0f20b1351d997711c56f1638f7a8c3061e384"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/uid/zipball/d30c72a63897cfa043e1de4d4dd2ffa9ecefcdc0",
- "reference": "d30c72a63897cfa043e1de4d4dd2ffa9ecefcdc0",
+ "url": "https://api.github.com/repos/symfony/uid/zipball/01b0f20b1351d997711c56f1638f7a8c3061e384",
+ "reference": "01b0f20b1351d997711c56f1638f7a8c3061e384",
"shasum": ""
},
"require": {
@@ -10256,7 +10128,7 @@
"uuid"
],
"support": {
- "source": "https://github.com/symfony/uid/tree/v6.2.7"
+ "source": "https://github.com/symfony/uid/tree/v6.3.0"
},
"funding": [
{
@@ -10272,20 +10144,20 @@
"type": "tidelift"
}
],
- "time": "2023-02-14T08:44:56+00:00"
+ "time": "2023-04-08T07:25:02+00:00"
},
{
"name": "symfony/var-dumper",
- "version": "v6.2.8",
+ "version": "v6.3.1",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-dumper.git",
- "reference": "d37ab6787be2db993747b6218fcc96e8e3bb4bd0"
+ "reference": "c81268d6960ddb47af17391a27d222bd58cf0515"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-dumper/zipball/d37ab6787be2db993747b6218fcc96e8e3bb4bd0",
- "reference": "d37ab6787be2db993747b6218fcc96e8e3bb4bd0",
+ "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c81268d6960ddb47af17391a27d222bd58cf0515",
+ "reference": "c81268d6960ddb47af17391a27d222bd58cf0515",
"shasum": ""
},
"require": {
@@ -10293,7 +10165,6 @@
"symfony/polyfill-mbstring": "~1.0"
},
"conflict": {
- "phpunit/phpunit": "<5.4.3",
"symfony/console": "<5.4"
},
"require-dev": {
@@ -10303,11 +10174,6 @@
"symfony/uid": "^5.4|^6.0",
"twig/twig": "^2.13|^3.0.4"
},
- "suggest": {
- "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
- "ext-intl": "To show region name in time zone dump",
- "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
- },
"bin": [
"Resources/bin/var-dump-server"
],
@@ -10344,7 +10210,7 @@
"dump"
],
"support": {
- "source": "https://github.com/symfony/var-dumper/tree/v6.2.8"
+ "source": "https://github.com/symfony/var-dumper/tree/v6.3.1"
},
"funding": [
{
@@ -10360,20 +10226,20 @@
"type": "tidelift"
}
],
- "time": "2023-03-29T21:42:15+00:00"
+ "time": "2023-06-21T12:08:28+00:00"
},
{
"name": "symfony/var-exporter",
- "version": "v6.2.8",
+ "version": "v6.3.0",
"source": {
"type": "git",
"url": "https://github.com/symfony/var-exporter.git",
- "reference": "8302bb670204500d492c6b8c595ee9a27da62cd6"
+ "reference": "db5416d04269f2827d8c54331ba4cfa42620d350"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/var-exporter/zipball/8302bb670204500d492c6b8c595ee9a27da62cd6",
- "reference": "8302bb670204500d492c6b8c595ee9a27da62cd6",
+ "url": "https://api.github.com/repos/symfony/var-exporter/zipball/db5416d04269f2827d8c54331ba4cfa42620d350",
+ "reference": "db5416d04269f2827d8c54331ba4cfa42620d350",
"shasum": ""
},
"require": {
@@ -10418,7 +10284,7 @@
"serialize"
],
"support": {
- "source": "https://github.com/symfony/var-exporter/tree/v6.2.8"
+ "source": "https://github.com/symfony/var-exporter/tree/v6.3.0"
},
"funding": [
{
@@ -10434,7 +10300,7 @@
"type": "tidelift"
}
],
- "time": "2023-03-14T15:48:45+00:00"
+ "time": "2023-04-21T08:48:44+00:00"
},
{
"name": "tightenco/collect",
@@ -10763,16 +10629,16 @@
"packages-dev": [
{
"name": "brianium/paratest",
- "version": "v6.9.1",
+ "version": "v6.10.0",
"source": {
"type": "git",
"url": "https://github.com/paratestphp/paratest.git",
- "reference": "51691208db882922c55d6c465be3e7d95028c449"
+ "reference": "c2243b20bcd99c3f651018d1447144372f39b4fa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/paratestphp/paratest/zipball/51691208db882922c55d6c465be3e7d95028c449",
- "reference": "51691208db882922c55d6c465be3e7d95028c449",
+ "url": "https://api.github.com/repos/paratestphp/paratest/zipball/c2243b20bcd99c3f651018d1447144372f39b4fa",
+ "reference": "c2243b20bcd99c3f651018d1447144372f39b4fa",
"shasum": ""
},
"require": {
@@ -10839,7 +10705,7 @@
],
"support": {
"issues": "https://github.com/paratestphp/paratest/issues",
- "source": "https://github.com/paratestphp/paratest/tree/v6.9.1"
+ "source": "https://github.com/paratestphp/paratest/tree/v6.10.0"
},
"funding": [
{
@@ -10851,7 +10717,7 @@
"type": "paypal"
}
],
- "time": "2023-03-03T09:35:17+00:00"
+ "time": "2023-05-25T13:47:58+00:00"
},
{
"name": "doctrine/instantiator",
@@ -10925,16 +10791,16 @@
},
{
"name": "fakerphp/faker",
- "version": "v1.21.0",
+ "version": "v1.23.0",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
- "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d"
+ "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/92efad6a967f0b79c499705c69b662f738cc9e4d",
- "reference": "92efad6a967f0b79c499705c69b662f738cc9e4d",
+ "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
+ "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01",
"shasum": ""
},
"require": {
@@ -10987,9 +10853,9 @@
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
- "source": "https://github.com/FakerPHP/Faker/tree/v1.21.0"
+ "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0"
},
- "time": "2022-12-13T13:54:32+00:00"
+ "time": "2023-06-12T08:44:38+00:00"
},
{
"name": "fidry/cpu-core-counter",
@@ -11235,16 +11101,16 @@
},
{
"name": "laravel/telescope",
- "version": "v4.14.1",
+ "version": "v4.15.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/telescope.git",
- "reference": "88ca4cbeefea563b605cf3fd9c10ff5a623864b1"
+ "reference": "572a19b4c9b09295848de9a2352737a756a0fb05"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/laravel/telescope/zipball/88ca4cbeefea563b605cf3fd9c10ff5a623864b1",
- "reference": "88ca4cbeefea563b605cf3fd9c10ff5a623864b1",
+ "url": "https://api.github.com/repos/laravel/telescope/zipball/572a19b4c9b09295848de9a2352737a756a0fb05",
+ "reference": "572a19b4c9b09295848de9a2352737a756a0fb05",
"shasum": ""
},
"require": {
@@ -11300,44 +11166,50 @@
],
"support": {
"issues": "https://github.com/laravel/telescope/issues",
- "source": "https://github.com/laravel/telescope/tree/v4.14.1"
+ "source": "https://github.com/laravel/telescope/tree/v4.15.0"
},
- "time": "2023-03-17T18:13:19+00:00"
+ "time": "2023-06-08T13:57:22+00:00"
},
{
"name": "mockery/mockery",
- "version": "1.5.1",
+ "version": "1.6.2",
"source": {
"type": "git",
"url": "https://github.com/mockery/mockery.git",
- "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e"
+ "reference": "13a7fa2642c76c58fa2806ef7f565344c817a191"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/mockery/mockery/zipball/e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
- "reference": "e92dcc83d5a51851baf5f5591d32cb2b16e3684e",
+ "url": "https://api.github.com/repos/mockery/mockery/zipball/13a7fa2642c76c58fa2806ef7f565344c817a191",
+ "reference": "13a7fa2642c76c58fa2806ef7f565344c817a191",
"shasum": ""
},
"require": {
"hamcrest/hamcrest-php": "^2.0.1",
"lib-pcre": ">=7.0",
- "php": "^7.3 || ^8.0"
+ "php": "^7.4 || ^8.0"
},
"conflict": {
"phpunit/phpunit": "<8.0"
},
"require-dev": {
- "phpunit/phpunit": "^8.5 || ^9.3"
+ "phpunit/phpunit": "^8.5 || ^9.3",
+ "psalm/plugin-phpunit": "^0.18",
+ "vimeo/psalm": "^5.9"
},
"type": "library",
"extra": {
"branch-alias": {
- "dev-master": "1.4.x-dev"
+ "dev-main": "1.6.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/",
@@ -11372,9 +11244,9 @@
],
"support": {
"issues": "https://github.com/mockery/mockery/issues",
- "source": "https://github.com/mockery/mockery/tree/1.5.1"
+ "source": "https://github.com/mockery/mockery/tree/1.6.2"
},
- "time": "2022-09-07T15:32:08+00:00"
+ "time": "2023-06-07T09:07:52+00:00"
},
{
"name": "myclabs/deep-copy",
@@ -11954,16 +11826,16 @@
},
{
"name": "phpunit/phpunit",
- "version": "9.6.7",
+ "version": "9.6.10",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2"
+ "reference": "a6d351645c3fe5a30f5e86be6577d946af65a328"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
- "reference": "c993f0d3b0489ffc42ee2fe0bd645af1538a63b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a6d351645c3fe5a30f5e86be6577d946af65a328",
+ "reference": "a6d351645c3fe5a30f5e86be6577d946af65a328",
"shasum": ""
},
"require": {
@@ -12037,7 +11909,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.7"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.10"
},
"funding": [
{
@@ -12053,7 +11925,7 @@
"type": "tidelift"
}
],
- "time": "2023-04-14T08:58:40+00:00"
+ "time": "2023-07-10T04:04:23+00:00"
},
{
"name": "sebastian/cli-parser",
@@ -12355,16 +12227,16 @@
},
{
"name": "sebastian/diff",
- "version": "4.0.4",
+ "version": "4.0.5",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d"
+ "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d",
- "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
+ "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131",
"shasum": ""
},
"require": {
@@ -12409,7 +12281,7 @@
],
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
- "source": "https://github.com/sebastianbergmann/diff/tree/4.0.4"
+ "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5"
},
"funding": [
{
@@ -12417,7 +12289,7 @@
"type": "github"
}
],
- "time": "2020-10-26T13:10:38+00:00"
+ "time": "2023-05-07T05:35:17+00:00"
},
{
"name": "sebastian/environment",
diff --git a/config/app.php b/config/app.php
index 5ce57bcf6..5a848676e 100644
--- a/config/app.php
+++ b/config/app.php
@@ -105,6 +105,7 @@ return [
'description' => 'Pixelfed is an image sharing platform, an ethical alternative to centralized platforms.',
'rules' => null,
'logo' => '/img/pixelfed-icon-color.svg',
+ 'banner_image' => '/storage/headers/default.jpg',
/*
|--------------------------------------------------------------------------
diff --git a/config/autospam.php b/config/autospam.php
new file mode 100644
index 000000000..39975ec9b
--- /dev/null
+++ b/config/autospam.php
@@ -0,0 +1,37 @@
+ env('PF_BOUNCER_ENABLED', false),
+
+
+ /*
+ |--------------------------------------------------------------------------
+ | Ignored Tokens
+ |--------------------------------------------------------------------------
+ |
+ | Ignored tokens are for commonly used words that may impact the detection.
+ | These tokens should be lowercase and not contain spaces or non alpha-
+ | numerical characters and be in comma-separated format.
+ |
+ */
+
+ 'ignored_tokens' => env('PF_AUTOSPAM_IGNORED_TOKENS', 'the,a,of,and'),
+
+ 'nlp' => [
+ 'enabled' => false,
+ 'spam_sample_limit' => env('PF_AUTOSPAM_NLP_SPAM_SAMPLE_LIMIT', 200),
+ ]
+];
diff --git a/config/captcha.php b/config/captcha.php
index baeeae2d2..586f0d77a 100644
--- a/config/captcha.php
+++ b/config/captcha.php
@@ -12,4 +12,16 @@ return [
'attributes' => [
'theme' => 'light'
],
-];
\ No newline at end of file
+
+ 'active' => [
+ 'login' => env('CAPTCHA_ENABLED_ON_LOGIN', false),
+ 'register' => env('CAPTCHA_ENABLED_ON_REGISTER', false)
+ ],
+
+ 'triggers' => [
+ 'login' => [
+ 'enabled' => env('CAPTCHA_TRIGGERS_LOGIN_ENABLED', false),
+ 'attempts' => env('CAPTCHA_TRIGGERS_LOGIN_ATTEMPTS', 2)
+ ]
+ ]
+];
diff --git a/config/exp.php b/config/exp.php
index 0c9f83706..0ace5135b 100644
--- a/config/exp.php
+++ b/config/exp.php
@@ -25,6 +25,8 @@ return [
// Cached public timeline for larger instances (beta)
'cached_public_timeline' => env('EXP_CPT', false),
+ 'cached_home_timeline' => env('EXP_CHT', false),
+
// Groups (unreleased)
'gps' => env('EXP_GPS', false),
@@ -33,4 +35,10 @@ return [
// Enforce Mastoapi Compatibility (alpha)
'emc' => env('EXP_EMC', true),
+
+ // HLS Live Streaming
+ 'hls' => env('HLS_LIVE', false),
+
+ // Post Update/Edits
+ 'pue' => env('EXP_PUE', true),
];
diff --git a/config/import.php b/config/import.php
new file mode 100644
index 000000000..2d1af28e1
--- /dev/null
+++ b/config/import.php
@@ -0,0 +1,47 @@
+ [
+ 'enabled' => env('PF_IMPORT_FROM_INSTAGRAM', true),
+
+ 'limits' => [
+ // Limit max number of posts allowed to import
+ 'max_posts' => env('PF_IMPORT_IG_MAX_POSTS', 1000),
+
+ // Limit max import attempts allowed, set to -1 for unlimited
+ 'max_attempts' => env('PF_IMPORT_IG_MAX_ATTEMPTS', -1),
+ ],
+
+ // Allow archived posts that will be archived upon import
+ 'allow_archived_posts' => false,
+
+ // Allow video posts to be imported
+ 'allow_video_posts' => env('PF_IMPORT_IG_ALLOW_VIDEO_POSTS', true),
+
+ 'permissions' => [
+ // Limit to admin accounts only
+ 'admins_only' => env('PF_IMPORT_IG_PERM_ADMIN_ONLY', false),
+
+ // Limit to admin accounts and local accounts they follow only
+ 'admin_follows_only' => env('PF_IMPORT_IG_PERM_ADMIN_FOLLOWS_ONLY', false),
+
+ // Limit to accounts older than X in days
+ 'min_account_age' => env('PF_IMPORT_IG_PERM_MIN_ACCOUNT_AGE', 1),
+
+ // Limit to accounts with a min follower count of X
+ 'min_follower_count' => env('PF_IMPORT_IG_PERM_MIN_FOLLOWER_COUNT', 0),
+
+ // Limit to specific user ids, in comma separated format
+ 'user_ids' => env('PF_IMPORT_IG_PERM_ONLY_USER_IDS', null),
+ ]
+ ]
+];
+
+
+
diff --git a/config/instance.php b/config/instance.php
index 7ba66c85e..5161ecb80 100644
--- a/config/instance.php
+++ b/config/instance.php
@@ -89,7 +89,7 @@ return [
]
],
- 'enable_cc' => env('ENABLE_CONFIG_CACHE', false),
+ 'enable_cc' => env('ENABLE_CONFIG_CACHE', true),
'has_legal_notice' => env('INSTANCE_LEGAL_NOTICE', false),
@@ -124,5 +124,9 @@ return [
'landing' => [
'show_directory' => env('INSTANCE_LANDING_SHOW_DIRECTORY', true),
'show_explore' => env('INSTANCE_LANDING_SHOW_EXPLORE', true),
+ ],
+
+ 'banner' => [
+ 'blurhash' => env('INSTANCE_BANNER_BLURHASH', 'UzJR]l{wHZRjM}R%XRkCH?X9xaWEjZj]kAjt')
]
];
diff --git a/config/media.php b/config/media.php
index c73b26798..b7d6e95cc 100644
--- a/config/media.php
+++ b/config/media.php
@@ -6,4 +6,19 @@ return [
'exif' => [
'database' => env('MEDIA_EXIF_DATABASE', false),
],
+
+ 'storage' => [
+ 'remote' => [
+ /*
+ |--------------------------------------------------------------------------
+ | Store remote media on cloud/S3
+ |--------------------------------------------------------------------------
+ |
+ | Set this to cache remote media on cloud/S3 filesystem drivers.
+ | Disabled by default.
+ |
+ */
+ 'cloud' => env('MEDIA_REMOTE_STORE_CLOUD', false)
+ ],
+ ]
];
diff --git a/config/pixelfed.php b/config/pixelfed.php
index 4faded26f..18e78b21d 100644
--- a/config/pixelfed.php
+++ b/config/pixelfed.php
@@ -23,7 +23,7 @@ return [
| This value is the version of your Pixelfed instance.
|
*/
- 'version' => '0.11.6',
+ 'version' => '0.11.8',
/*
|--------------------------------------------------------------------------
@@ -198,7 +198,8 @@ return [
| Allow a maximum number of user accounts. Default: off
|
*/
- 'max_users' => env('PF_MAX_USERS', false),
+ 'max_users' => env('PF_MAX_USERS', 1000),
+ 'enforce_max_users' => env('PF_ENFORCE_MAX_USERS', true),
/*
|--------------------------------------------------------------------------
@@ -255,7 +256,7 @@ return [
]
],
- 'oauth_enabled' => env('OAUTH_ENABLED', false),
+ 'oauth_enabled' => env('OAUTH_ENABLED', true),
'bouncer' => [
'enabled' => env('PF_BOUNCER_ENABLED', false),
diff --git a/contrib/docker/start.apache.sh b/contrib/docker/start.apache.sh
index a16808733..4fb19e476 100755
--- a/contrib/docker/start.apache.sh
+++ b/contrib/docker/start.apache.sh
@@ -5,11 +5,11 @@ cp -r storage.skel/* storage/
chown -R www-data:www-data storage/ bootstrap/
# Refresh the environment
+php artisan config:cache
php artisan storage:link
php artisan horizon:publish
php artisan route:cache
php artisan view:cache
-php artisan config:cache
# Finally run Apache
apache2-foreground
diff --git a/contrib/docker/start.fpm.sh b/contrib/docker/start.fpm.sh
index c6fe63d6a..199489fc6 100755
--- a/contrib/docker/start.fpm.sh
+++ b/contrib/docker/start.fpm.sh
@@ -5,11 +5,11 @@ cp -r storage.skel/* storage/
chown -R www-data:www-data storage/ bootstrap/
# Refresh the environment
+php artisan config:cache
php artisan storage:link
php artisan horizon:publish
php artisan route:cache
php artisan view:cache
-php artisan config:cache
# Finally run FPM
php-fpm
diff --git a/contrib/nginx.conf b/contrib/nginx.conf
index 6d6fd15f8..0f86ea9e7 100644
--- a/contrib/nginx.conf
+++ b/contrib/nginx.conf
@@ -11,11 +11,11 @@ server {
ssl_ciphers EECDH+AESGCM:EECDH+CHACHA20:EECDH+AES;
ssl_prefer_server_ciphers on;
- add_header X-Frame-Options "SAMEORIGIN";
+ #add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
- index index.html index.htm index.php;
+ index index.php;
charset utf-8;
client_max_body_size 15M;
@@ -31,11 +31,27 @@ server {
location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
- try_files $fastcgi_script_name =404;
- fastcgi_pass unix:/run/php-fpm/php-fpm.sock; # make sure this is correct
- fastcgi_index index.php;
- include fastcgi_params;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; # or $request_filename
+ fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
+ fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
+ fastcgi_param QUERY_STRING $query_string;
+ fastcgi_param REQUEST_METHOD $request_method;
+ fastcgi_param CONTENT_TYPE $content_type;
+ fastcgi_param CONTENT_LENGTH $content_length;
+ fastcgi_param SCRIPT_NAME $fastcgi_script_name;
+ fastcgi_param REQUEST_URI $request_uri;
+ fastcgi_param DOCUMENT_URI $document_uri;
+ fastcgi_param DOCUMENT_ROOT $document_root;
+ fastcgi_param SERVER_PROTOCOL $server_protocol;
+ fastcgi_param GATEWAY_INTERFACE CGI/1.1;
+ fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
+ fastcgi_param REMOTE_ADDR $remote_addr;
+ fastcgi_param REMOTE_PORT $remote_port;
+ fastcgi_param SERVER_ADDR $server_addr;
+ fastcgi_param SERVER_PORT $server_port;
+ fastcgi_param SERVER_NAME $server_name;
+ fastcgi_param HTTPS $https if_not_empty;
+ fastcgi_param REDIRECT_STATUS 200;
+ fastcgi_param HTTP_PROXY "";
}
location ~ /\.(?!well-known).* {
diff --git a/database/migrations/2022_01_08_103817_add_index_to_followers_table.php b/database/migrations/2022_01_08_103817_add_index_to_followers_table.php
new file mode 100644
index 000000000..202aafbcb
--- /dev/null
+++ b/database/migrations/2022_01_08_103817_add_index_to_followers_table.php
@@ -0,0 +1,33 @@
+index('profile_id');
+ $table->index('following_id');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('followers', function (Blueprint $table) {
+ //
+ });
+ }
+}
diff --git a/database/migrations/2023_01_29_034653_create_status_edits_table.php b/database/migrations/2023_01_29_034653_create_status_edits_table.php
new file mode 100644
index 000000000..959fc9b89
--- /dev/null
+++ b/database/migrations/2023_01_29_034653_create_status_edits_table.php
@@ -0,0 +1,39 @@
+bigIncrements('id');
+ $table->bigInteger('status_id')->unsigned()->index();
+ $table->bigInteger('profile_id')->unsigned()->index();
+ $table->text('caption')->nullable();
+ $table->text('spoiler_text')->nullable();
+ $table->json('ordered_media_attachment_ids')->nullable();
+ $table->json('media_descriptions')->nullable();
+ $table->json('poll_options')->nullable();
+ $table->boolean('is_nsfw')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::dropIfExists('status_edits');
+ }
+};
diff --git a/database/migrations/2023_05_03_023758_update_postgres_visibility_defaults_on_statuses_table.php b/database/migrations/2023_05_03_023758_update_postgres_visibility_defaults_on_statuses_table.php
index f4b6eeda3..b3753fd52 100644
--- a/database/migrations/2023_05_03_023758_update_postgres_visibility_defaults_on_statuses_table.php
+++ b/database/migrations/2023_05_03_023758_update_postgres_visibility_defaults_on_statuses_table.php
@@ -15,7 +15,7 @@ return new class extends Migration
$type = config('database.default');
if($type === 'pgsql') {
- DB::statement("ALTER TABLE statuses DROP CONSTRAINT statuses_visibility_check");
+ DB::statement("ALTER TABLE statuses DROP CONSTRAINT IF EXISTS statuses_visibility_check");
$types = ['public', 'unlisted', 'private', 'direct', 'draft'];
$result = join( ', ', array_map(function ($value){
diff --git a/database/migrations/2023_05_07_091703_add_edited_at_to_statuses_table.php b/database/migrations/2023_05_07_091703_add_edited_at_to_statuses_table.php
new file mode 100644
index 000000000..15a85f35c
--- /dev/null
+++ b/database/migrations/2023_05_07_091703_add_edited_at_to_statuses_table.php
@@ -0,0 +1,32 @@
+timestamp('edited_at')->nullable();
+ $table->boolean('trendable')->nullable();
+ $table->json('media_ids')->nullable();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('statuses', function (Blueprint $table) {
+ $table->dropColumn('edited_at');
+ $table->dropColumn('trendable');
+ $table->dropColumn('media_ids');
+ });
+ }
+};
diff --git a/database/migrations/2023_05_13_045228_remove_unused_columns_from_notifications_table.php b/database/migrations/2023_05_13_045228_remove_unused_columns_from_notifications_table.php
new file mode 100644
index 000000000..1c450f920
--- /dev/null
+++ b/database/migrations/2023_05_13_045228_remove_unused_columns_from_notifications_table.php
@@ -0,0 +1,31 @@
+dropColumn('message');
+ }
+
+ if(Schema::hasColumn('notifications', 'rendered')) {
+ $table->dropColumn('rendered');
+ }
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ }
+};
diff --git a/database/migrations/2023_05_13_123119_remove_status_entities_from_statuses_table.php b/database/migrations/2023_05_13_123119_remove_status_entities_from_statuses_table.php
new file mode 100644
index 000000000..9a7fb4734
--- /dev/null
+++ b/database/migrations/2023_05_13_123119_remove_status_entities_from_statuses_table.php
@@ -0,0 +1,34 @@
+lazyById(200, 'id') as $status) {
+ if(!in_array($status->scope, ['public', 'unlisted', 'private'])) {
+ continue;
+ }
+ if(str_starts_with($status->entities, '{"urls')) {
+ $status->entities = null;
+ $status->save();
+ } else {
+ continue;
+ }
+ }
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ }
+};
diff --git a/database/migrations/2023_05_15_050604_create_autospam_custom_tokens_table.php b/database/migrations/2023_05_15_050604_create_autospam_custom_tokens_table.php
new file mode 100644
index 000000000..e2f7f7e66
--- /dev/null
+++ b/database/migrations/2023_05_15_050604_create_autospam_custom_tokens_table.php
@@ -0,0 +1,34 @@
+bigIncrements('id');
+ $table->string('token')->index();
+ $table->integer('weight')->default(1)->index();
+ $table->boolean('is_spam')->default(true)->index();
+ $table->text('note')->nullable();
+ $table->string('category')->nullable()->index();
+ $table->boolean('active')->default(false)->index();
+ $table->unique(['token', 'category']);
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('autospam_custom_tokens');
+ }
+};
diff --git a/database/migrations/2023_05_19_102013_add_enable_atom_feed_to_user_settings_table.php b/database/migrations/2023_05_19_102013_add_enable_atom_feed_to_user_settings_table.php
new file mode 100644
index 000000000..5aee6d8b8
--- /dev/null
+++ b/database/migrations/2023_05_19_102013_add_enable_atom_feed_to_user_settings_table.php
@@ -0,0 +1,28 @@
+boolean('show_atom')->default(true);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('user_settings', function (Blueprint $table) {
+ $table->dropColumn('show_atom');
+ });
+ }
+};
diff --git a/database/migrations/2023_05_29_072206_create_user_app_settings_table.php b/database/migrations/2023_05_29_072206_create_user_app_settings_table.php
new file mode 100644
index 000000000..813ae4603
--- /dev/null
+++ b/database/migrations/2023_05_29_072206_create_user_app_settings_table.php
@@ -0,0 +1,31 @@
+id();
+ $table->unsignedInteger('user_id')->unique()->index();
+ $table->bigInteger('profile_id')->unsigned()->unique()->index();
+ $table->json('common')->nullable();
+ $table->json('custom')->nullable();
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('user_app_settings');
+ }
+};
diff --git a/database/migrations/2023_06_10_031634_create_import_posts_table.php b/database/migrations/2023_06_10_031634_create_import_posts_table.php
new file mode 100644
index 000000000..5bd186d67
--- /dev/null
+++ b/database/migrations/2023_06_10_031634_create_import_posts_table.php
@@ -0,0 +1,46 @@
+id();
+ $table->bigInteger('profile_id')->unsigned()->index();
+ $table->unsignedInteger('user_id')->index();
+ $table->string('service')->index();
+ $table->string('post_hash')->nullable()->index();
+ $table->string('filename')->index();
+ $table->tinyInteger('media_count')->unsigned();
+ $table->string('post_type')->nullable();
+ $table->text('caption')->nullable();
+ $table->json('media')->nullable();
+ $table->tinyInteger('creation_year')->unsigned()->nullable();
+ $table->tinyInteger('creation_month')->unsigned()->nullable();
+ $table->tinyInteger('creation_day')->unsigned()->nullable();
+ $table->tinyInteger('creation_id')->unsigned()->nullable();
+ $table->bigInteger('status_id')->unsigned()->nullable()->unique()->index();
+ $table->timestamp('creation_date')->nullable();
+ $table->json('metadata')->nullable();
+ $table->boolean('skip_missing_media')->default(false)->index();
+ $table->unique(['user_id', 'post_hash']);
+ $table->unique(['user_id', 'creation_year', 'creation_month', 'creation_day', 'creation_id'], 'import_posts_uid_phash_unique');
+ $table->timestamps();
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::dropIfExists('import_posts');
+ }
+};
diff --git a/database/migrations/2023_06_28_103008_add_user_id_index_to_profiles_table.php b/database/migrations/2023_06_28_103008_add_user_id_index_to_profiles_table.php
new file mode 100644
index 000000000..daa5564d8
--- /dev/null
+++ b/database/migrations/2023_06_28_103008_add_user_id_index_to_profiles_table.php
@@ -0,0 +1,30 @@
+index('user_id', 'profiles_user_id_index');
+ $table->index('last_fetched_at', 'profiles_last_fetched_at_index');
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ */
+ public function down(): void
+ {
+ Schema::table('profiles', function (Blueprint $table) {
+ $table->dropIndex('profiles_user_id_index');
+ $table->dropIndex('profiles_last_fetched_at_index');
+ });
+ }
+};
diff --git a/package-lock.json b/package-lock.json
index 51ccb8c7c..1dde4df84 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,6 +1,6 @@
{
"name": "pixelfed",
- "lockfileVersion": 2,
+ "lockfileVersion": 3,
"requires": true,
"packages": {
"": {
@@ -9,6 +9,7 @@
"@fancyapps/fancybox": "^3.5.7",
"@trevoreyre/autocomplete-vue": "^2.2.0",
"@web3-storage/parse-link-header": "^3.1.0",
+ "@zip.js/zip.js": "^2.7.14",
"animate.css": "^4.1.0",
"bigpicture": "^2.6.2",
"blurhash": "^1.1.3",
@@ -67,11 +68,11 @@
}
},
"node_modules/@ampproject/remapping": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.1.0",
+ "@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
},
"engines": {
@@ -79,39 +80,39 @@
}
},
"node_modules/@babel/code-frame": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
- "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz",
+ "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==",
"dependencies": {
- "@babel/highlight": "^7.18.6"
+ "@babel/highlight": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/compat-data": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz",
- "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz",
+ "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz",
- "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz",
+ "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.21.3",
- "@babel/helper-compilation-targets": "^7.20.7",
- "@babel/helper-module-transforms": "^7.21.2",
- "@babel/helpers": "^7.21.0",
- "@babel/parser": "^7.21.3",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.3",
- "@babel/types": "^7.21.3",
+ "@babel/code-frame": "^7.22.5",
+ "@babel/generator": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helpers": "^7.22.5",
+ "@babel/parser": "^7.22.5",
+ "@babel/template": "^7.22.5",
+ "@babel/traverse": "^7.22.5",
+ "@babel/types": "^7.22.5",
"convert-source-map": "^1.7.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -135,11 +136,11 @@
}
},
"node_modules/@babel/generator": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz",
- "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz",
+ "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==",
"dependencies": {
- "@babel/types": "^7.21.3",
+ "@babel/types": "^7.22.5",
"@jridgewell/gen-mapping": "^0.3.2",
"@jridgewell/trace-mapping": "^0.3.17",
"jsesc": "^2.5.1"
@@ -148,49 +149,35 @@
"node": ">=6.9.0"
}
},
- "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/@babel/helper-annotate-as-pure": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
- "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz",
+ "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
- "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.5.tgz",
+ "integrity": "sha512-m1EP3lVOPptR+2DwD125gziZNcmoNSHGmJROKoy87loWUQyJaVXDgpmruWqDARZSmtYQ+Dl25okU8+qhVzuykw==",
"dependencies": {
- "@babel/helper-explode-assignable-expression": "^7.18.6",
- "@babel/types": "^7.18.9"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-compilation-targets": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
- "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz",
+ "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==",
"dependencies": {
- "@babel/compat-data": "^7.20.5",
- "@babel/helper-validator-option": "^7.18.6",
+ "@babel/compat-data": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.5",
"browserslist": "^4.21.3",
"lru-cache": "^5.1.1",
"semver": "^6.3.0"
@@ -211,18 +198,19 @@
}
},
"node_modules/@babel/helper-create-class-features-plugin": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz",
- "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.22.5.tgz",
+ "integrity": "sha512-xkb58MyOYIslxu3gKmVXmjTtUPvBU4odYzbiIQbWwLKIHCsx6UGZGX6F1IznMFVnDdirseUZopzN+ZRt8Xb33Q==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.21.0",
- "@babel/helper-member-expression-to-functions": "^7.21.0",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-replace-supers": "^7.20.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/helper-split-export-declaration": "^7.18.6"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/helper-member-expression-to-functions": "^7.22.5",
+ "@babel/helper-optimise-call-expression": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.5",
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
@@ -231,13 +219,22 @@
"@babel/core": "^7.0.0"
}
},
+ "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/@babel/helper-create-regexp-features-plugin": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz",
- "integrity": "sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.5.tgz",
+ "integrity": "sha512-1VpEFOIbMRaXyDeUwUfmTIxExLwQ+zkW+Bh5zXpApA3oQedBx9v/updixWxnx/bZpKw7u8VxWjb/qWpIcmPq8A==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "regexpu-core": "^5.3.1"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "regexpu-core": "^5.3.1",
+ "semver": "^6.3.0"
},
"engines": {
"node": ">=6.9.0"
@@ -246,10 +243,18 @@
"@babel/core": "^7.0.0"
}
},
+ "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
+ "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==",
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
"node_modules/@babel/helper-define-polyfill-provider": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
- "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.4.0.tgz",
+ "integrity": "sha512-RnanLx5ETe6aybRi1cO/edaRH+bNYWaryCEmjDDYyNr4wnSzyOp8T0dWipmqVHKEY3AbVKUom50AKSlj1zmKbg==",
"dependencies": {
"@babel/helper-compilation-targets": "^7.17.7",
"@babel/helper-plugin-utils": "^7.16.7",
@@ -271,115 +276,104 @@
}
},
"node_modules/@babel/helper-environment-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
- "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==",
- "engines": {
- "node": ">=6.9.0"
- }
- },
- "node_modules/@babel/helper-explode-assignable-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
- "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
- "dependencies": {
- "@babel/types": "^7.18.6"
- },
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz",
+ "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-function-name": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
- "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz",
+ "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==",
"dependencies": {
- "@babel/template": "^7.20.7",
- "@babel/types": "^7.21.0"
+ "@babel/template": "^7.22.5",
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-hoist-variables": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
- "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-member-expression-to-functions": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz",
- "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz",
+ "integrity": "sha512-aBiH1NKMG0H2cGZqspNvsaBe6wNGjbJjuLy29aU+eDZjSbbN53BaxlpB02xm9v34pLTZ1nIQPFYn2qMZoa5BQQ==",
"dependencies": {
- "@babel/types": "^7.21.0"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz",
+ "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-module-transforms": {
- "version": "7.21.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz",
- "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz",
+ "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-simple-access": "^7.20.2",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/helper-validator-identifier": "^7.19.1",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.2",
- "@babel/types": "^7.21.2"
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-module-imports": "^7.22.5",
+ "@babel/helper-simple-access": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.5",
+ "@babel/template": "^7.22.5",
+ "@babel/traverse": "^7.22.5",
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-optimise-call-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
- "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz",
+ "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
- "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
+ "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-remap-async-to-generator": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
- "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.5.tgz",
+ "integrity": "sha512-cU0Sq1Rf4Z55fgz7haOakIyM7+x/uCFwXpLPaeRzfoUtAEAuUZjZvFPjL/rk5rW693dIgn2hng1W7xbT7lWT4g==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-wrap-function": "^7.18.9",
- "@babel/types": "^7.18.9"
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-wrap-function": "^7.22.5",
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -389,111 +383,111 @@
}
},
"node_modules/@babel/helper-replace-supers": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz",
- "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.5.tgz",
+ "integrity": "sha512-aLdNM5I3kdI/V9xGNyKSF3X/gTyMUBohTZ+/3QdQKAA9vxIiy12E+8E2HoOP1/DjeqU+g6as35QHJNMDDYpuCg==",
"dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-member-expression-to-functions": "^7.20.7",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.20.7",
- "@babel/types": "^7.20.7"
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-member-expression-to-functions": "^7.22.5",
+ "@babel/helper-optimise-call-expression": "^7.22.5",
+ "@babel/template": "^7.22.5",
+ "@babel/traverse": "^7.22.5",
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-simple-access": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
- "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+ "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
"dependencies": {
- "@babel/types": "^7.20.2"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
- "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz",
+ "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==",
"dependencies": {
- "@babel/types": "^7.20.0"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-split-export-declaration": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
- "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz",
+ "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==",
"dependencies": {
- "@babel/types": "^7.18.6"
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-string-parser": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
- "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz",
+ "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz",
+ "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-validator-option": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz",
- "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz",
+ "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helper-wrap-function": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz",
- "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.5.tgz",
+ "integrity": "sha512-bYqLIBSEshYcYQyfks8ewYA8S30yaGSeRslcvKMvoUk6HHPySbxHq9YRi6ghhzEU+yhQv9bP/jXnygkStOcqZw==",
"dependencies": {
- "@babel/helper-function-name": "^7.19.0",
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.20.5",
- "@babel/types": "^7.20.5"
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/template": "^7.22.5",
+ "@babel/traverse": "^7.22.5",
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/helpers": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz",
- "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz",
+ "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==",
"dependencies": {
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.0",
- "@babel/types": "^7.21.0"
+ "@babel/template": "^7.22.5",
+ "@babel/traverse": "^7.22.5",
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/highlight": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
- "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz",
+ "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==",
"dependencies": {
- "@babel/helper-validator-identifier": "^7.18.6",
+ "@babel/helper-validator-identifier": "^7.22.5",
"chalk": "^2.0.0",
"js-tokens": "^4.0.0"
},
@@ -558,9 +552,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz",
- "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz",
+ "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -569,11 +563,11 @@
}
},
"node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.18.6",
- "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.18.6.tgz",
- "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
+ "version": "7.22.5",
+ "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.22.5.tgz",
+ "integrity": "sha512-NP1M5Rf+u2Gw9qfSO4ihjcTGW5zXTi36ITLd4/EoAcEhIZ0yjMqmftDNl3QC19CX7olhrjpyU454g/2W7X0jvQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -583,13 +577,13 @@
}
},
"node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz",
- "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.22.5.tgz",
+ "integrity": "sha512-31Bb65aZaUwqCbWMnZPduIZxCBngHFlzyN6Dq6KAJjtx+lx6ohKHubc61OomYi7XwVD4Ol0XCVz4h+pYFR048g==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/plugin-proposal-optional-chaining": "^7.20.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/plugin-transform-optional-chaining": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -598,144 +592,6 @@
"@babel/core": "^7.13.0"
}
},
- "node_modules/@babel/plugin-proposal-async-generator-functions": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz",
- "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==",
- "dependencies": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-remap-async-to-generator": "^7.18.9",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-class-properties": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
- "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-class-static-block": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz",
- "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.21.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.12.0"
- }
- },
- "node_modules/@babel/plugin-proposal-dynamic-import": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
- "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-export-namespace-from": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
- "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@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-proposal-json-strings": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
- "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz",
- "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@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-proposal-nullish-coalescing-operator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
- "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@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-proposal-numeric-separator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
- "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.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",
@@ -754,62 +610,10 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
- "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@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-proposal-optional-chaining": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz",
- "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==",
- "dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
- },
- "engines": {
- "node": ">=6.9.0"
- },
- "peerDependencies": {
- "@babel/core": "^7.0.0-0"
- }
- },
- "node_modules/@babel/plugin-proposal-private-methods": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
- "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
- "dependencies": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- },
- "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",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz",
- "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==",
- "dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-create-class-features-plugin": "^7.21.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- },
+ "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==",
"engines": {
"node": ">=6.9.0"
},
@@ -891,11 +695,11 @@
}
},
"node_modules/@babel/plugin-syntax-import-assertions": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
- "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.22.5.tgz",
+ "integrity": "sha512-rdV97N7KqsRzeNGoWUOK6yUsWarLjE5Su/Snk9IYPU9CwkWHs4t+rTGOvffTR8XGkJMTAdLfO0xVnXm8wugIJg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.19.0"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -904,6 +708,31 @@
"@babel/core": "^7.0.0-0"
}
},
+ "node_modules/@babel/plugin-syntax-import-attributes": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.22.5.tgz",
+ "integrity": "sha512-KwvoWDeNKPETmozyFE0P2rOLqh39EoQHNjqizrI5B8Vt0ZNS7M56s7dAiAqbYfiAYOuIzIh96z3iR2ktgu3tEg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "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==",
+ "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",
@@ -1009,12 +838,44 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-arrow-functions": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz",
- "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==",
+ "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==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@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.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.22.5.tgz",
+ "integrity": "sha512-26lTNXoVRdAnsaDXPpvCNUq+OVWEVC6bx7Vvz9rC53F2bagUWW4u4ii2+h8Fejfh7RYqPxn+libeFBBck9muEw==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-async-generator-functions": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.22.5.tgz",
+ "integrity": "sha512-gGOEvFzm3fWoyD5uZq7vVTD57pPJ3PczPUD/xCFGjzBpUosnklmXyKnGQbbbGs1NPNPskFex0j93yKbHt0cHyg==",
+ "dependencies": {
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.5",
+ "@babel/plugin-syntax-async-generators": "^7.8.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1024,13 +885,13 @@
}
},
"node_modules/@babel/plugin-transform-async-to-generator": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz",
- "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.22.5.tgz",
+ "integrity": "sha512-b1A8D8ZzE/VhNDoV1MSJTnpKkCG5bJo+19R4o4oy03zM7ws8yEMK755j61Dc3EyvdysbqH5BOOTquJ7ZX9C6vQ==",
"dependencies": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-remap-async-to-generator": "^7.18.9"
+ "@babel/helper-module-imports": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-remap-async-to-generator": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1040,11 +901,11 @@
}
},
"node_modules/@babel/plugin-transform-block-scoped-functions": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
- "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.22.5.tgz",
+ "integrity": "sha512-tdXZ2UdknEKQWKJP1KMNmuF5Lx3MymtMN/pvA+p/VEkhK8jVcQ1fzSy8KM9qRYhAf2/lV33hoMPKI/xaI9sADA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1054,11 +915,11 @@
}
},
"node_modules/@babel/plugin-transform-block-scoping": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz",
- "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.22.5.tgz",
+ "integrity": "sha512-EcACl1i5fSQ6bt+YGuU/XGCeZKStLmyVGytWkpyhCLeQVA0eu6Wtiw92V+I1T/hnezUv7j74dA/Ro69gWcU+hg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1067,19 +928,50 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/plugin-transform-classes": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz",
- "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==",
+ "node_modules/@babel/plugin-transform-class-properties": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.22.5.tgz",
+ "integrity": "sha512-nDkQ0NfkOhPTq8YCLiWNxp1+f9fCobEjCb0n8WdbNUBc4IB5V7P1QnX9IjpSoquKrXF5SKojHleVNs2vGeHCHQ==",
"dependencies": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-compilation-targets": "^7.20.7",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.21.0",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-replace-supers": "^7.20.7",
- "@babel/helper-split-export-declaration": "^7.18.6",
+ "@babel/helper-create-class-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-class-static-block": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.22.5.tgz",
+ "integrity": "sha512-SPToJ5eYZLxlnp1UzdARpOGeC2GbHvr9d/UV0EukuVx8atktg194oe+C5BqQ8jRTkgLRVOPYeXRSBg1IlMoVRA==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@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.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.22.5.tgz",
+ "integrity": "sha512-2edQhLfibpWpsVBx2n/GKOz6JdGQvLruZQfGr9l1qes2KQaWswjBzhQF7UDUZMNaMMQeYnQzxwOMPsbYF7wqPQ==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/helper-optimise-call-expression": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.5",
"globals": "^11.1.0"
},
"engines": {
@@ -1090,12 +982,12 @@
}
},
"node_modules/@babel/plugin-transform-computed-properties": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz",
- "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.22.5.tgz",
+ "integrity": "sha512-4GHWBgRf0krxPX+AaPtgBAlTgTeZmqDynokHOX7aqqAB4tHs3U2Y02zH6ETFdLZGcg9UQSD1WCmkVrE9ErHeOg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/template": "^7.20.7"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/template": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1105,11 +997,11 @@
}
},
"node_modules/@babel/plugin-transform-destructuring": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz",
- "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.22.5.tgz",
+ "integrity": "sha512-GfqcFuGW8vnEqTUBM7UtPd5A4q797LTvvwKxXTgRsFjoqaJiEg9deBG6kWeQYkVEL569NpnmpC0Pkr/8BLKGnQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1119,12 +1011,12 @@
}
},
"node_modules/@babel/plugin-transform-dotall-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
- "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.22.5.tgz",
+ "integrity": "sha512-5/Yk9QxCQCl+sOIB1WelKnVRxTJDSAIxtJLL2/pqL14ZVlbH0fUQUZa/T5/UnQtBNgghR7mfB8ERBKyKPCi7Vw==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1134,11 +1026,26 @@
}
},
"node_modules/@babel/plugin-transform-duplicate-keys": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
- "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.22.5.tgz",
+ "integrity": "sha512-dEnYD+9BBgld5VBXHnF/DbYGp3fqGMsyxKbtD1mDyIA7AkTSpKXFhCVuj/oQVOoALfBs77DudA0BE4d5mcpmqw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-dynamic-import": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.22.5.tgz",
+ "integrity": "sha512-0MC3ppTB1AMxd8fXjSrbPa7LT9hrImt+/fcj+Pg5YMD7UQyWp/02+JWpdnCymmsXwIx5Z+sYn1bwCn4ZJNvhqQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-dynamic-import": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1148,12 +1055,27 @@
}
},
"node_modules/@babel/plugin-transform-exponentiation-operator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
- "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.22.5.tgz",
+ "integrity": "sha512-vIpJFNM/FjZ4rh1myqIya9jXwrwwgFRHPjT3DkUA9ZLHuzox8jiXkOLvwm1H+PQIP3CqfC++WPKeuDi0Sjdj1g==",
"dependencies": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-export-namespace-from": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.22.5.tgz",
+ "integrity": "sha512-X4hhm7FRnPgd4nDA4b/5V280xCx6oL7Oob5+9qVS5C13Zq4bh1qq7LU0GgRU6b5dBWBvhGaXYVB4AcN6+ol6vg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1163,11 +1085,11 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz",
- "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.22.5.tgz",
+ "integrity": "sha512-3kxQjX1dU9uudwSshyLeEipvrLjBCVthCgeTp6CzE/9JYrlAIaeekVxRpCWsDDfYTfRZRoCeZatCQvwo+wvK8A==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1177,13 +1099,28 @@
}
},
"node_modules/@babel/plugin-transform-function-name": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
- "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.22.5.tgz",
+ "integrity": "sha512-UIzQNMS0p0HHiQm3oelztj+ECwFnj+ZRV4KnguvlsD2of1whUeM6o7wGNj6oLwcDoAXQ8gEqfgC24D+VdIcevg==",
"dependencies": {
- "@babel/helper-compilation-targets": "^7.18.9",
- "@babel/helper-function-name": "^7.18.9",
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-compilation-targets": "^7.22.5",
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-json-strings": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.22.5.tgz",
+ "integrity": "sha512-DuCRB7fu8MyTLbEQd1ew3R85nx/88yMoqo2uPSjevMj3yoN7CDM8jkgrY0wmVxfJZyJ/B9fE1iq7EQppWQmR5A==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-json-strings": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1193,11 +1130,26 @@
}
},
"node_modules/@babel/plugin-transform-literals": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
- "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.22.5.tgz",
+ "integrity": "sha512-fTLj4D79M+mepcw3dgFBTIDYpbcB9Sm0bpm4ppXPaO+U+PKFFyV9MGRvS0gvGw62sd10kT5lRMKXAADb9pWy8g==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-logical-assignment-operators": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.22.5.tgz",
+ "integrity": "sha512-MQQOUW1KL8X0cDWfbwYP+TbVbZm16QmQXJQ+vndPtH/BoO0lOKpVoEDMI7+PskYxH+IiE0tS8xZye0qr1lGzSA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
},
"engines": {
"node": ">=6.9.0"
@@ -1207,11 +1159,11 @@
}
},
"node_modules/@babel/plugin-transform-member-expression-literals": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
- "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.22.5.tgz",
+ "integrity": "sha512-RZEdkNtzzYCFl9SE9ATaUMTj2hqMb4StarOJLrZRbqqU4HSBE7UlBw9WBWQiDzrJZJdUWiMTVDI6Gv/8DPvfew==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1221,12 +1173,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-amd": {
- "version": "7.20.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz",
- "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.22.5.tgz",
+ "integrity": "sha512-R+PTfLTcYEmb1+kK7FNkhQ1gP4KgjpSO6HfH9+f8/yfp2Nt3ggBjiVpRwmwTlfqZLafYKJACy36yDXlEmI9HjQ==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.20.11",
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1236,13 +1188,13 @@
}
},
"node_modules/@babel/plugin-transform-modules-commonjs": {
- "version": "7.21.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz",
- "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz",
+ "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.21.2",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-simple-access": "^7.20.2"
+ "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-simple-access": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1252,14 +1204,14 @@
}
},
"node_modules/@babel/plugin-transform-modules-systemjs": {
- "version": "7.20.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz",
- "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.22.5.tgz",
+ "integrity": "sha512-emtEpoaTMsOs6Tzz+nbmcePl6AKVtS1yC4YNAeMun9U8YCsgadPNxnOPQ8GhHFB2qdx+LZu9LgoC0Lthuu05DQ==",
"dependencies": {
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-module-transforms": "^7.20.11",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-validator-identifier": "^7.19.1"
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1269,12 +1221,12 @@
}
},
"node_modules/@babel/plugin-transform-modules-umd": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
- "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.22.5.tgz",
+ "integrity": "sha512-+S6kzefN/E1vkSsKx8kmQuqeQsvCKCd1fraCM7zXm4SFoggI099Tr4G8U81+5gtMdUeMQ4ipdQffbKLX0/7dBQ==",
"dependencies": {
- "@babel/helper-module-transforms": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-module-transforms": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1284,12 +1236,12 @@
}
},
"node_modules/@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz",
- "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz",
+ "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.20.5",
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1299,11 +1251,59 @@
}
},
"node_modules/@babel/plugin-transform-new-target": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
- "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.22.5.tgz",
+ "integrity": "sha512-AsF7K0Fx/cNKVyk3a+DW0JLo+Ua598/NxMRvxDnkpCIGFh43+h/v2xyhRUYf6oD8gE4QtL83C7zZVghMjHd+iw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-nullish-coalescing-operator": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.22.5.tgz",
+ "integrity": "sha512-6CF8g6z1dNYZ/VXok5uYkkBBICHZPiGEl7oDnAx2Mt1hlHVHOSIKWJaXHjQJA5VB43KZnXZDIexMchY4y2PGdA==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@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.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.22.5.tgz",
+ "integrity": "sha512-NbslED1/6M+sXiwwtcAB/nieypGw02Ejf4KtDeMkCEpP6gWFMX1wI9WKYua+4oBneCCEmulOkRpwywypVZzs/g==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@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.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.22.5.tgz",
+ "integrity": "sha512-Kk3lyDmEslH9DnvCDA1s1kkd3YWQITiBOHngOtDL9Pt6BZjzqb6hiOlb8VfjiiQJ2unmegBqZu0rx5RxJb5vmQ==",
+ "dependencies": {
+ "@babel/compat-data": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-transform-parameters": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1313,12 +1313,43 @@
}
},
"node_modules/@babel/plugin-transform-object-super": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
- "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.22.5.tgz",
+ "integrity": "sha512-klXqyaT9trSjIUrcsYIfETAzmOEZL3cBYqOYLJxBHfMFFggmXOv+NYSX/Jbs9mzMVESw/WycLFPRx8ba/b2Ipw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/helper-replace-supers": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-replace-supers": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-optional-catch-binding": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.22.5.tgz",
+ "integrity": "sha512-pH8orJahy+hzZje5b8e2QIlBWQvGpelS76C63Z+jhZKsmzfNaPQ+LaW6dcJ9bxTpo1mtXbgHwy765Ro3jftmUg==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@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.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.22.5.tgz",
+ "integrity": "sha512-AconbMKOMkyG+xCng2JogMCDcqW8wedQAqpVIL4cOSescZ7+iW8utC6YDZLMCSUIReEA733gzRSaOSXMAt/4WQ==",
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3"
},
"engines": {
"node": ">=6.9.0"
@@ -1328,11 +1359,43 @@
}
},
"node_modules/@babel/plugin-transform-parameters": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz",
- "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.22.5.tgz",
+ "integrity": "sha512-AVkFUBurORBREOmHRKo06FjHYgjrabpdqRSwq6+C7R5iTCZOsM4QbcB27St0a4U6fffyAOqh3s/qEfybAhfivg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2"
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-methods": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.22.5.tgz",
+ "integrity": "sha512-PPjh4gyrQnGe97JTalgRGMuU4icsZFnWkzicB/fUtzlKUqvsWBKEpPPfr5a2JiyirZkHxnAqkQMO5Z5B2kK3fA==",
+ "dependencies": {
+ "@babel/helper-create-class-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-private-property-in-object": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz",
+ "integrity": "sha512-/9xnaTTJcVoBtSSmrVyhtSvO3kbqS2ODoh2juEU72c3aYonNF0OMGiaz2gjukyKM2wBBYJP38S4JiE0Wfb5VMQ==",
+ "dependencies": {
+ "@babel/helper-annotate-as-pure": "^7.22.5",
+ "@babel/helper-create-class-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1342,11 +1405,11 @@
}
},
"node_modules/@babel/plugin-transform-property-literals": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
- "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.22.5.tgz",
+ "integrity": "sha512-TiOArgddK3mK/x1Qwf5hay2pxI6wCZnvQqrFSqbtg1GLl2JcNMitVH/YnqjP+M31pLUeTfzY1HAXFDnUBV30rQ==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1356,11 +1419,11 @@
}
},
"node_modules/@babel/plugin-transform-regenerator": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz",
- "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.22.5.tgz",
+ "integrity": "sha512-rR7KePOE7gfEtNTh9Qw+iO3Q/e4DEsoQ+hdvM6QUDH7JRJ5qxq5AA52ZzBWbI5i9lfNuvySgOGP8ZN7LAmaiPw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
+ "@babel/helper-plugin-utils": "^7.22.5",
"regenerator-transform": "^0.15.1"
},
"engines": {
@@ -1371,11 +1434,11 @@
}
},
"node_modules/@babel/plugin-transform-reserved-words": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
- "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.22.5.tgz",
+ "integrity": "sha512-DTtGKFRQUDm8svigJzZHzb/2xatPc6TzNvAIJ5GqOKDsGFYgAskjRulbR/vGsPKq3OPqtexnz327qYpP57RFyA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1385,15 +1448,15 @@
}
},
"node_modules/@babel/plugin-transform-runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz",
- "integrity": "sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.22.5.tgz",
+ "integrity": "sha512-bg4Wxd1FWeFx3daHFTWk1pkSWK/AyQuiyAoeZAOkAOUBjnZPH6KT7eMxouV47tQ6hl6ax2zyAWBdWZXbrvXlaw==",
"dependencies": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.20.2",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
+ "@babel/helper-module-imports": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "babel-plugin-polyfill-corejs2": "^0.4.3",
+ "babel-plugin-polyfill-corejs3": "^0.8.1",
+ "babel-plugin-polyfill-regenerator": "^0.5.0",
"semver": "^6.3.0"
},
"engines": {
@@ -1412,11 +1475,11 @@
}
},
"node_modules/@babel/plugin-transform-shorthand-properties": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
- "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.22.5.tgz",
+ "integrity": "sha512-vM4fq9IXHscXVKzDv5itkO1X52SmdFBFcMIBZ2FRn2nqVYqw6dBexUgMvAjHW+KXpPPViD/Yo3GrDEBaRC0QYA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1426,12 +1489,12 @@
}
},
"node_modules/@babel/plugin-transform-spread": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz",
- "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.22.5.tgz",
+ "integrity": "sha512-5ZzDQIGyvN4w8+dMmpohL6MBo+l2G7tfC/O2Dg7/hjpgeWvUx8FzfeOKxGog9IimPa4YekaQ9PlDqTLOljkcxg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0"
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1441,11 +1504,11 @@
}
},
"node_modules/@babel/plugin-transform-sticky-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
- "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.22.5.tgz",
+ "integrity": "sha512-zf7LuNpHG0iEeiyCNwX4j3gDg1jgt1k3ZdXBKbZSoA3BbGQGvMiSvfbZRR3Dr3aeJe3ooWFZxOOG3IRStYp2Bw==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1455,11 +1518,11 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
- "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.22.5.tgz",
+ "integrity": "sha512-5ciOehRNf+EyUeewo8NkbQiUs4d6ZxiHo6BcBcnFlgiJfu16q0bQUw9Jvo0b0gBKFG1SMhDSjeKXSYuJLeFSMA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1469,11 +1532,11 @@
}
},
"node_modules/@babel/plugin-transform-typeof-symbol": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
- "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.22.5.tgz",
+ "integrity": "sha512-bYkI5lMzL4kPii4HHEEChkD0rkc+nvnlR6+o/qdqR6zrm0Sv/nodmyLhlq2DO0YKLUNd2VePmPRjJXSBh9OIdA==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1483,11 +1546,26 @@
}
},
"node_modules/@babel/plugin-transform-unicode-escapes": {
- "version": "7.18.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
- "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.22.5.tgz",
+ "integrity": "sha512-biEmVg1IYB/raUO5wT1tgfacCef15Fbzhkx493D3urBI++6hpJ+RFG4SrWMn0NEZLfvilqKf3QDrRVZHo08FYg==",
"dependencies": {
- "@babel/helper-plugin-utils": "^7.18.9"
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-transform-unicode-property-regex": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.22.5.tgz",
+ "integrity": "sha512-HCCIb+CbJIAE6sXn5CjFQXMwkCClcOfPCzTlilJ8cUatfzwHlWQkbtV0zD338u9dZskwvuOYTuuaMaA8J5EI5A==",
+ "dependencies": {
+ "@babel/helper-create-regexp-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1497,12 +1575,12 @@
}
},
"node_modules/@babel/plugin-transform-unicode-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
- "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.22.5.tgz",
+ "integrity": "sha512-028laaOKptN5vHJf9/Arr/HiJekMd41hOEZYvNsrsXqJ7YPYuX2bQxh31fkZzGmq3YqHRJzYFFAVYvKfMPKqyg==",
"dependencies": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
+ "@babel/helper-create-regexp-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1511,38 +1589,41 @@
"@babel/core": "^7.0.0-0"
}
},
- "node_modules/@babel/preset-env": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz",
- "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==",
+ "node_modules/@babel/plugin-transform-unicode-sets-regex": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.22.5.tgz",
+ "integrity": "sha512-lhMfi4FC15j13eKrh3DnYHjpGj6UKQHtNKTbtc1igvAhRy4+kLhV07OpLcsN0VgDEw/MjAvJO4BdMJsHwMhzCg==",
"dependencies": {
- "@babel/compat-data": "^7.20.1",
- "@babel/helper-compilation-targets": "^7.20.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-validator-option": "^7.18.6",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
- "@babel/plugin-proposal-async-generator-functions": "^7.20.1",
- "@babel/plugin-proposal-class-properties": "^7.18.6",
- "@babel/plugin-proposal-class-static-block": "^7.18.6",
- "@babel/plugin-proposal-dynamic-import": "^7.18.6",
- "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
- "@babel/plugin-proposal-json-strings": "^7.18.6",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
- "@babel/plugin-proposal-numeric-separator": "^7.18.6",
- "@babel/plugin-proposal-object-rest-spread": "^7.20.2",
- "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
- "@babel/plugin-proposal-optional-chaining": "^7.18.9",
- "@babel/plugin-proposal-private-methods": "^7.18.6",
- "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
- "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
+ "@babel/helper-create-regexp-features-plugin": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/@babel/preset-env": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.22.5.tgz",
+ "integrity": "sha512-fj06hw89dpiZzGZtxn+QybifF07nNiZjZ7sazs2aVDcysAZVGjW7+7iFYxg6GLNM47R/thYfLdrXc+2f11Vi9A==",
+ "dependencies": {
+ "@babel/compat-data": "^7.22.5",
+ "@babel/helper-compilation-targets": "^7.22.5",
+ "@babel/helper-plugin-utils": "^7.22.5",
+ "@babel/helper-validator-option": "^7.22.5",
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.5",
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.5",
+ "@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.20.0",
+ "@babel/plugin-syntax-import-assertions": "^7.22.5",
+ "@babel/plugin-syntax-import-attributes": "^7.22.5",
+ "@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",
@@ -1552,44 +1633,61 @@
"@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-transform-arrow-functions": "^7.18.6",
- "@babel/plugin-transform-async-to-generator": "^7.18.6",
- "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
- "@babel/plugin-transform-block-scoping": "^7.20.2",
- "@babel/plugin-transform-classes": "^7.20.2",
- "@babel/plugin-transform-computed-properties": "^7.18.9",
- "@babel/plugin-transform-destructuring": "^7.20.2",
- "@babel/plugin-transform-dotall-regex": "^7.18.6",
- "@babel/plugin-transform-duplicate-keys": "^7.18.9",
- "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
- "@babel/plugin-transform-for-of": "^7.18.8",
- "@babel/plugin-transform-function-name": "^7.18.9",
- "@babel/plugin-transform-literals": "^7.18.9",
- "@babel/plugin-transform-member-expression-literals": "^7.18.6",
- "@babel/plugin-transform-modules-amd": "^7.19.6",
- "@babel/plugin-transform-modules-commonjs": "^7.19.6",
- "@babel/plugin-transform-modules-systemjs": "^7.19.6",
- "@babel/plugin-transform-modules-umd": "^7.18.6",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1",
- "@babel/plugin-transform-new-target": "^7.18.6",
- "@babel/plugin-transform-object-super": "^7.18.6",
- "@babel/plugin-transform-parameters": "^7.20.1",
- "@babel/plugin-transform-property-literals": "^7.18.6",
- "@babel/plugin-transform-regenerator": "^7.18.6",
- "@babel/plugin-transform-reserved-words": "^7.18.6",
- "@babel/plugin-transform-shorthand-properties": "^7.18.6",
- "@babel/plugin-transform-spread": "^7.19.0",
- "@babel/plugin-transform-sticky-regex": "^7.18.6",
- "@babel/plugin-transform-template-literals": "^7.18.9",
- "@babel/plugin-transform-typeof-symbol": "^7.18.9",
- "@babel/plugin-transform-unicode-escapes": "^7.18.10",
- "@babel/plugin-transform-unicode-regex": "^7.18.6",
+ "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
+ "@babel/plugin-transform-arrow-functions": "^7.22.5",
+ "@babel/plugin-transform-async-generator-functions": "^7.22.5",
+ "@babel/plugin-transform-async-to-generator": "^7.22.5",
+ "@babel/plugin-transform-block-scoped-functions": "^7.22.5",
+ "@babel/plugin-transform-block-scoping": "^7.22.5",
+ "@babel/plugin-transform-class-properties": "^7.22.5",
+ "@babel/plugin-transform-class-static-block": "^7.22.5",
+ "@babel/plugin-transform-classes": "^7.22.5",
+ "@babel/plugin-transform-computed-properties": "^7.22.5",
+ "@babel/plugin-transform-destructuring": "^7.22.5",
+ "@babel/plugin-transform-dotall-regex": "^7.22.5",
+ "@babel/plugin-transform-duplicate-keys": "^7.22.5",
+ "@babel/plugin-transform-dynamic-import": "^7.22.5",
+ "@babel/plugin-transform-exponentiation-operator": "^7.22.5",
+ "@babel/plugin-transform-export-namespace-from": "^7.22.5",
+ "@babel/plugin-transform-for-of": "^7.22.5",
+ "@babel/plugin-transform-function-name": "^7.22.5",
+ "@babel/plugin-transform-json-strings": "^7.22.5",
+ "@babel/plugin-transform-literals": "^7.22.5",
+ "@babel/plugin-transform-logical-assignment-operators": "^7.22.5",
+ "@babel/plugin-transform-member-expression-literals": "^7.22.5",
+ "@babel/plugin-transform-modules-amd": "^7.22.5",
+ "@babel/plugin-transform-modules-commonjs": "^7.22.5",
+ "@babel/plugin-transform-modules-systemjs": "^7.22.5",
+ "@babel/plugin-transform-modules-umd": "^7.22.5",
+ "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5",
+ "@babel/plugin-transform-new-target": "^7.22.5",
+ "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.5",
+ "@babel/plugin-transform-numeric-separator": "^7.22.5",
+ "@babel/plugin-transform-object-rest-spread": "^7.22.5",
+ "@babel/plugin-transform-object-super": "^7.22.5",
+ "@babel/plugin-transform-optional-catch-binding": "^7.22.5",
+ "@babel/plugin-transform-optional-chaining": "^7.22.5",
+ "@babel/plugin-transform-parameters": "^7.22.5",
+ "@babel/plugin-transform-private-methods": "^7.22.5",
+ "@babel/plugin-transform-private-property-in-object": "^7.22.5",
+ "@babel/plugin-transform-property-literals": "^7.22.5",
+ "@babel/plugin-transform-regenerator": "^7.22.5",
+ "@babel/plugin-transform-reserved-words": "^7.22.5",
+ "@babel/plugin-transform-shorthand-properties": "^7.22.5",
+ "@babel/plugin-transform-spread": "^7.22.5",
+ "@babel/plugin-transform-sticky-regex": "^7.22.5",
+ "@babel/plugin-transform-template-literals": "^7.22.5",
+ "@babel/plugin-transform-typeof-symbol": "^7.22.5",
+ "@babel/plugin-transform-unicode-escapes": "^7.22.5",
+ "@babel/plugin-transform-unicode-property-regex": "^7.22.5",
+ "@babel/plugin-transform-unicode-regex": "^7.22.5",
+ "@babel/plugin-transform-unicode-sets-regex": "^7.22.5",
"@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.20.2",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
- "core-js-compat": "^3.25.1",
+ "@babel/types": "^7.22.5",
+ "babel-plugin-polyfill-corejs2": "^0.4.3",
+ "babel-plugin-polyfill-corejs3": "^0.8.1",
+ "babel-plugin-polyfill-regenerator": "^0.5.0",
+ "core-js-compat": "^3.30.2",
"semver": "^6.3.0"
},
"engines": {
@@ -1628,9 +1726,9 @@
"integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA=="
},
"node_modules/@babel/runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
- "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz",
+ "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==",
"dependencies": {
"regenerator-runtime": "^0.13.11"
},
@@ -1639,31 +1737,31 @@
}
},
"node_modules/@babel/template": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
- "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz",
+ "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==",
"dependencies": {
- "@babel/code-frame": "^7.18.6",
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7"
+ "@babel/code-frame": "^7.22.5",
+ "@babel/parser": "^7.22.5",
+ "@babel/types": "^7.22.5"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz",
- "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz",
+ "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==",
"dependencies": {
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.21.3",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.21.0",
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/parser": "^7.21.3",
- "@babel/types": "^7.21.3",
+ "@babel/code-frame": "^7.22.5",
+ "@babel/generator": "^7.22.5",
+ "@babel/helper-environment-visitor": "^7.22.5",
+ "@babel/helper-function-name": "^7.22.5",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.5",
+ "@babel/parser": "^7.22.5",
+ "@babel/types": "^7.22.5",
"debug": "^4.1.0",
"globals": "^11.1.0"
},
@@ -1672,12 +1770,12 @@
}
},
"node_modules/@babel/types": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz",
- "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==",
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz",
+ "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==",
"dependencies": {
- "@babel/helper-string-parser": "^7.19.4",
- "@babel/helper-validator-identifier": "^7.19.1",
+ "@babel/helper-string-parser": "^7.22.5",
+ "@babel/helper-validator-identifier": "^7.22.5",
"to-fast-properties": "^2.0.0"
},
"engines": {
@@ -1710,12 +1808,13 @@
}
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
- "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
"dependencies": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10"
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
},
"engines": {
"node": ">=6.0.0"
@@ -1738,41 +1837,33 @@
}
},
"node_modules/@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz",
+ "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==",
"dependencies": {
"@jridgewell/gen-mapping": "^0.3.0",
"@jridgewell/trace-mapping": "^0.3.9"
}
},
- "node_modules/@jridgewell/source-map/node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "dependencies": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "engines": {
- "node": ">=6.0.0"
- }
- },
"node_modules/@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
+ "version": "0.3.18",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz",
+ "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==",
"dependencies": {
"@jridgewell/resolve-uri": "3.1.0",
"@jridgewell/sourcemap-codec": "1.4.14"
}
},
+ "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.14",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
+ "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
+ },
"node_modules/@leichtgewicht/ip-codec": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
@@ -1841,9 +1932,9 @@
}
},
"node_modules/@types/babel__core": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz",
- "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==",
+ "version": "7.20.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.1.tgz",
+ "integrity": "sha512-aACu/U/omhdk15O4Nfb+fHgH/z3QsfQzpnvRZhYhThms83ZnAOZz7zZAWO7mn2yyNQaA4xTO8GLK3uqFU4bYYw==",
"dependencies": {
"@babel/parser": "^7.20.7",
"@babel/types": "^7.20.7",
@@ -1870,11 +1961,11 @@
}
},
"node_modules/@types/babel__traverse": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz",
- "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==",
+ "version": "7.20.1",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.1.tgz",
+ "integrity": "sha512-MitHFXnhtgwsGZWtT68URpOvLN4EREih1u3QtQiN4VdAxWKRVvGCSvw/Qth0M0Qq3pJpnGOu5JaM/ydK7OGbqg==",
"dependencies": {
- "@babel/types": "^7.3.0"
+ "@babel/types": "^7.20.7"
}
},
"node_modules/@types/body-parser": {
@@ -1912,18 +2003,18 @@
}
},
"node_modules/@types/connect-history-api-fallback": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
- "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz",
+ "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==",
"dependencies": {
"@types/express-serve-static-core": "*",
"@types/node": "*"
}
},
"node_modules/@types/eslint": {
- "version": "8.21.3",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.3.tgz",
- "integrity": "sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==",
+ "version": "8.40.1",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.40.1.tgz",
+ "integrity": "sha512-vRb792M4mF1FBT+eoLecmkpLXwxsBHvWWRGJjzbYANBM6DtiJc6yETyv4rqDA6QNjF1pkj1U7LMA6dGb3VYlHw==",
"dependencies": {
"@types/estree": "*",
"@types/json-schema": "*"
@@ -1939,9 +2030,9 @@
}
},
"node_modules/@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz",
+ "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA=="
},
"node_modules/@types/express": {
"version": "4.17.17",
@@ -1965,13 +2056,14 @@
}
},
"node_modules/@types/express/node_modules/@types/express-serve-static-core": {
- "version": "4.17.33",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz",
- "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==",
+ "version": "4.17.35",
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.35.tgz",
+ "integrity": "sha512-wALWQwrgiB2AWTT91CB62b6Yt0sNHpznUXeZEcnPU3DRdlDIz74x8Qg1UUYKSVFi+va5vKOLYRBI1bRKiLLKIg==",
"dependencies": {
"@types/node": "*",
"@types/qs": "*",
- "@types/range-parser": "*"
+ "@types/range-parser": "*",
+ "@types/send": "*"
}
},
"node_modules/@types/glob": {
@@ -1984,9 +2076,9 @@
}
},
"node_modules/@types/http-proxy": {
- "version": "1.17.10",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.10.tgz",
- "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==",
+ "version": "1.17.11",
+ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz",
+ "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==",
"dependencies": {
"@types/node": "*"
}
@@ -2033,9 +2125,9 @@
}
},
"node_modules/@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
+ "version": "7.0.12",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz",
+ "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA=="
},
"node_modules/@types/mime": {
"version": "3.0.1",
@@ -2048,9 +2140,9 @@
"integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA=="
},
"node_modules/@types/node": {
- "version": "18.15.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.9.tgz",
- "integrity": "sha512-dUxhiNzBLr6IqlZXz6e/rN2YQXlFgOei/Dxy+e3cyXTJ4txSUbGT2/fmnD6zd/75jDMeW5bDee+YXxlFKHoV0A=="
+ "version": "20.3.0",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.3.0.tgz",
+ "integrity": "sha512-cumHmIAf6On83X7yP+LrsEyUOf/YlociZelmpRYaGFydoaPdxdt80MAbu6vWerQT2COCp2nPvHdsbD7tHn/YlQ=="
},
"node_modules/@types/parse-json": {
"version": "4.0.0",
@@ -2072,6 +2164,20 @@
"resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
"integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA=="
},
+ "node_modules/@types/send": {
+ "version": "0.17.1",
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz",
+ "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==",
+ "dependencies": {
+ "@types/mime": "^1",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/send/node_modules/@types/mime": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz",
+ "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw=="
+ },
"node_modules/@types/serve-index": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
@@ -2103,9 +2209,9 @@
"integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug=="
},
"node_modules/@types/ws": {
- "version": "8.5.4",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz",
- "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==",
+ "version": "8.5.5",
+ "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz",
+ "integrity": "sha512-lwhs8hktwxSjf9UaZ9tG5M03PGogvFaH8gUgLNbN9HKIg0dvv6q+gkSuJ8HN4/VbyxkuLzCjlN7GquQ0gUJfIg==",
"dependencies": {
"@types/node": "*"
}
@@ -2184,133 +2290,133 @@
"integrity": "sha512-K1undnK70vLLauqdE8bq/l98isTF2FDhcP0UPpXVSjkSWe3xhAn5eRXk5jfA1E5ycNm84Ws/rQFUD7ue11nciw=="
},
"node_modules/@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz",
+ "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==",
"dependencies": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
+ "@webassemblyjs/helper-numbers": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6"
}
},
"node_modules/@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ=="
+ "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=="
},
"node_modules/@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg=="
+ "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=="
},
"node_modules/@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA=="
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz",
+ "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA=="
},
"node_modules/@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz",
+ "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==",
"dependencies": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
+ "@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.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q=="
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz",
+ "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA=="
},
"node_modules/@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz",
+ "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==",
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6"
}
},
"node_modules/@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz",
+ "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==",
"dependencies": {
"@xtuc/ieee754": "^1.2.0"
}
},
"node_modules/@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz",
+ "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==",
"dependencies": {
"@xtuc/long": "4.2.2"
}
},
"node_modules/@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ=="
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz",
+ "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA=="
},
"node_modules/@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz",
+ "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==",
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/helper-wasm-bytecode": "1.11.6",
+ "@webassemblyjs/helper-wasm-section": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-opt": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6",
+ "@webassemblyjs/wast-printer": "1.11.6"
}
},
"node_modules/@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz",
+ "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==",
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "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/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz",
+ "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==",
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@webassemblyjs/helper-buffer": "1.11.6",
+ "@webassemblyjs/wasm-gen": "1.11.6",
+ "@webassemblyjs/wasm-parser": "1.11.6"
}
},
"node_modules/@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz",
+ "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==",
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
+ "@webassemblyjs/ast": "1.11.6",
+ "@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.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
+ "version": "1.11.6",
+ "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz",
+ "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==",
"dependencies": {
- "@webassemblyjs/ast": "1.11.1",
+ "@webassemblyjs/ast": "1.11.6",
"@xtuc/long": "4.2.2"
}
},
@@ -2357,6 +2463,15 @@
"resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz",
"integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ=="
},
+ "node_modules/@zip.js/zip.js": {
+ "version": "2.7.15",
+ "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.15.tgz",
+ "integrity": "sha512-iuL2otty04U4YBfdpd22XJacKaNuR7AHWlQrE/L9zHxfunXNtIeSgCxi66T74pnzHdmmpGqlBlZoVRkWOT70aA==",
+ "engines": {
+ "deno": ">=1.0.0",
+ "node": ">=16.5.0"
+ }
+ },
"node_modules/accepts": {
"version": "1.3.8",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
@@ -2381,9 +2496,9 @@
}
},
"node_modules/acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
+ "version": "1.9.0",
+ "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz",
+ "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==",
"peerDependencies": {
"acorn": "^8"
}
@@ -2639,12 +2754,12 @@
}
},
"node_modules/babel-plugin-polyfill-corejs2": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
- "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
+ "version": "0.4.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.3.tgz",
+ "integrity": "sha512-bM3gHc337Dta490gg+/AseNB9L4YLHxq1nGKZZSHbhXv4aTYU2MD2cjza1Ru4S6975YLTaL1K8uJf6ukJhhmtw==",
"dependencies": {
"@babel/compat-data": "^7.17.7",
- "@babel/helper-define-polyfill-provider": "^0.3.3",
+ "@babel/helper-define-polyfill-provider": "^0.4.0",
"semver": "^6.1.1"
},
"peerDependencies": {
@@ -2660,23 +2775,23 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
- "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
+ "version": "0.8.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.8.1.tgz",
+ "integrity": "sha512-ikFrZITKg1xH6pLND8zT14UPgjKHiGLqex7rGEZCH2EvhsneJaJPemmpQaIZV5AL03II+lXylw3UmddDK8RU5Q==",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.3.3",
- "core-js-compat": "^3.25.1"
+ "@babel/helper-define-polyfill-provider": "^0.4.0",
+ "core-js-compat": "^3.30.1"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
}
},
"node_modules/babel-plugin-polyfill-regenerator": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
- "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
+ "version": "0.5.0",
+ "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.0.tgz",
+ "integrity": "sha512-hDJtKjMLVa7Z+LwnTCxoDLQj6wdc+B8dun7ayF2fYieI6OzfuvcLMB32ihJZ4UhCBwNYGl5bg/x/P9cMdnkc2g==",
"dependencies": {
- "@babel/helper-define-polyfill-provider": "^0.3.3"
+ "@babel/helper-define-polyfill-provider": "^0.4.0"
},
"peerDependencies": {
"@babel/core": "^7.0.0-0"
@@ -2792,6 +2907,20 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
+ "node_modules/body-parser/node_modules/qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/bonjour-service": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz",
@@ -2946,9 +3075,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.21.5",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
- "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
+ "version": "4.21.7",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.7.tgz",
+ "integrity": "sha512-BauCXrQ7I2ftSqd2mvKHGo85XR0u7Ru3C/Hxsy/0TkfCtjrmAbPdzLGasmoiBxplpDXlPvdjX9u7srIMfgasNA==",
"funding": [
{
"type": "opencollective",
@@ -2957,13 +3086,17 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001449",
- "electron-to-chromium": "^1.4.284",
- "node-releases": "^2.0.8",
- "update-browserslist-db": "^1.0.10"
+ "caniuse-lite": "^1.0.30001489",
+ "electron-to-chromium": "^1.4.411",
+ "node-releases": "^2.0.12",
+ "update-browserslist-db": "^1.0.11"
},
"bin": {
"browserslist": "cli.js"
@@ -3046,9 +3179,9 @@
}
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001469",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz",
- "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==",
+ "version": "1.0.30001502",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001502.tgz",
+ "integrity": "sha512-AZ+9tFXw1sS0o0jcpJQIXvFTOB/xGiQ4OQ2t98QX3NDn2EZTSRBC801gxrsGgViuq2ak/NLkNgSNEPtCr5lfKg==",
"funding": [
{
"type": "opencollective",
@@ -3057,6 +3190,10 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
]
},
@@ -3226,9 +3363,9 @@
}
},
"node_modules/collect.js": {
- "version": "4.34.3",
- "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.34.3.tgz",
- "integrity": "sha512-aFr67xDazPwthsGm729mnClgNuh15JEagU6McKBKqxuHOkWL7vMFzGbhsXDdPZ+H6ia5QKIMGYuGOMENBHnVpg=="
+ "version": "4.36.1",
+ "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.36.1.tgz",
+ "integrity": "sha512-jd97xWPKgHn6uvK31V6zcyPd40lUJd7gpYxbN2VOVxGWO4tyvS9Li4EpsFjXepGTo2tYcOTC4a8YsbQXMJ4XUw=="
},
"node_modules/color-convert": {
"version": "2.0.1",
@@ -3252,9 +3389,9 @@
"integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="
},
"node_modules/colorette": {
- "version": "2.0.19",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
- "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ=="
+ "version": "2.0.20",
+ "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz",
+ "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w=="
},
"node_modules/commander": {
"version": "7.2.0",
@@ -3361,6 +3498,7 @@
"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,
"dependencies": {
"bluebird": "^3.1.1"
@@ -3412,9 +3550,9 @@
"integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
},
"node_modules/core-js": {
- "version": "3.29.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.1.tgz",
- "integrity": "sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw==",
+ "version": "3.31.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.31.0.tgz",
+ "integrity": "sha512-NIp2TQSGfR6ba5aalZD+ZQ1fSxGhDo/s1w0nx3RYzf2pnJxt7YynxFlFScP6eV7+GZsKO95NSjGxyJsU3DZgeQ==",
"hasInstallScript": true,
"funding": {
"type": "opencollective",
@@ -3422,9 +3560,9 @@
}
},
"node_modules/core-js-compat": {
- "version": "3.29.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.1.tgz",
- "integrity": "sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==",
+ "version": "3.31.0",
+ "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.31.0.tgz",
+ "integrity": "sha512-hM7YCu1cU6Opx7MXNu0NuumM0ezNeAeRKadixyiQELWY3vT3De9S4J5ZBMraWV2vZnrE1Cirl0GtFtDtMUXzPw==",
"dependencies": {
"browserslist": "^4.21.5"
},
@@ -3570,16 +3708,16 @@
}
},
"node_modules/css-loader": {
- "version": "6.7.3",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz",
- "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==",
+ "version": "6.8.1",
+ "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.8.1.tgz",
+ "integrity": "sha512-xDAXtEVGlD0gJ07iclwWVkLoZOpEvAWaSyf6W18S2pOC//K8+qUDIx8IIT3D+HjnmkJPQeesOPv5aiUaJsCM2g==",
"dev": true,
"peer": true,
"dependencies": {
"icss-utils": "^5.1.0",
- "postcss": "^8.4.19",
+ "postcss": "^8.4.21",
"postcss-modules-extract-imports": "^3.0.0",
- "postcss-modules-local-by-default": "^4.0.0",
+ "postcss-modules-local-by-default": "^4.0.3",
"postcss-modules-scope": "^3.0.0",
"postcss-modules-values": "^4.0.0",
"postcss-value-parser": "^4.2.0",
@@ -3610,9 +3748,9 @@
}
},
"node_modules/css-loader/node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"dev": true,
"peer": true,
"dependencies": {
@@ -3780,9 +3918,9 @@
}
},
"node_modules/csstype": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
- "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz",
+ "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ=="
},
"node_modules/custom-event-polyfill": {
"version": "1.0.7",
@@ -3863,9 +4001,9 @@
}
},
"node_modules/des.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
- "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
+ "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==",
"dependencies": {
"inherits": "^2.0.1",
"minimalistic-assert": "^1.0.0"
@@ -3922,9 +4060,9 @@
"integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg=="
},
"node_modules/dns-packet": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
- "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==",
+ "version": "5.6.0",
+ "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz",
+ "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==",
"dependencies": {
"@leichtgewicht/ip-codec": "^2.0.1"
},
@@ -4053,9 +4191,9 @@
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow=="
},
"node_modules/electron-to-chromium": {
- "version": "1.4.340",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.340.tgz",
- "integrity": "sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg=="
+ "version": "1.4.427",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.427.tgz",
+ "integrity": "sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw=="
},
"node_modules/elliptic": {
"version": "6.5.4",
@@ -4098,9 +4236,9 @@
}
},
"node_modules/enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
+ "version": "5.14.1",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz",
+ "integrity": "sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==",
"dependencies": {
"graceful-fs": "^4.2.4",
"tapable": "^2.2.0"
@@ -4137,9 +4275,9 @@
}
},
"node_modules/es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ=="
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.3.0.tgz",
+ "integrity": "sha512-vZK7T0N2CBmBOixhmjdqx2gWVbFZ4DXZ/NyRMZVlJXPa7CyFS+/a4QQsDGDQy9ZfEzxFuNEsMLeQJnKP2p5/JA=="
},
"node_modules/es6-object-assign": {
"version": "1.1.0",
@@ -4384,6 +4522,20 @@
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
},
+ "node_modules/express/node_modules/qs": {
+ "version": "6.11.0",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
+ "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "dependencies": {
+ "side-channel": "^1.0.4"
+ },
+ "engines": {
+ "node": ">=0.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -4456,9 +4608,9 @@
}
},
"node_modules/file-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz",
+ "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -4626,9 +4778,9 @@
}
},
"node_modules/fs-monkey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
- "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q=="
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.4.tgz",
+ "integrity": "sha512-INM/fWAxMICjttnD0DX1rBvinKskj5G1w+oy/pnm9u/tSlnBrzFonJMcalKJ30P8RRsPzKcCG7Q8l0jx5Fh9YQ=="
},
"node_modules/fs.realpath": {
"version": "1.0.0",
@@ -4670,12 +4822,13 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz",
+ "integrity": "sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==",
"dependencies": {
"function-bind": "^1.1.1",
"has": "^1.0.3",
+ "has-proto": "^1.0.1",
"has-symbols": "^1.0.3"
},
"funding": {
@@ -4797,6 +4950,17 @@
"node": ">=8"
}
},
+ "node_modules/has-proto": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
+ "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "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",
@@ -4857,9 +5021,9 @@
}
},
"node_modules/hls.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.3.5.tgz",
- "integrity": "sha512-uybAvKS6uDe0MnWNEPnO0krWVr+8m2R0hJ/viql8H3MVK+itq8gGQuIYoFHL3rECkIpNH98Lw8YuuWMKZxp3Ew=="
+ "version": "1.4.5",
+ "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.4.5.tgz",
+ "integrity": "sha512-xb7IiSM9apU3tJWb5rdSStobXPNJJykHTwSy7JnLF5y/kLJXWjoR/fEpNBlwYxkKcDiiSfO9SQI8yFravZJxIg=="
},
"node_modules/hmac-drbg": {
"version": "1.0.1",
@@ -4888,9 +5052,9 @@
}
},
"node_modules/html-entities": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
- "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA=="
+ "version": "2.3.5",
+ "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.5.tgz",
+ "integrity": "sha512-72TJlcMkYsEJASa/3HnX7VT59htM7iSHbH59NSZbtc+22Ap0Txnlx91sfeB+/A7wNZg7UxtZdhAW4y+/jimrdg=="
},
"node_modules/html-loader": {
"version": "1.3.2",
@@ -4914,9 +5078,9 @@
}
},
"node_modules/html-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz",
+ "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -5259,9 +5423,9 @@
}
},
"node_modules/ipaddr.js": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
- "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz",
+ "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==",
"engines": {
"node": ">= 10"
}
@@ -5288,9 +5452,9 @@
"integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
},
"node_modules/is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
+ "version": "2.12.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz",
+ "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==",
"dependencies": {
"has": "^1.0.3"
},
@@ -5455,9 +5619,9 @@
}
},
"node_modules/jquery": {
- "version": "3.6.4",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz",
- "integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ=="
+ "version": "3.7.0",
+ "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.0.tgz",
+ "integrity": "sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ=="
},
"node_modules/jquery-scroll-lock": {
"version": "3.1.3",
@@ -5547,9 +5711,9 @@
}
},
"node_modules/laravel-echo": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.15.0.tgz",
- "integrity": "sha512-q5YaEw2NFu9xra6sYUfh/FX2YotN5iY1nMeKz90J3W3Vpa+5WjK3/DYeEzkTfBZz8Oq1Dv9vWNE4IUvt7kxYIg==",
+ "version": "1.15.1",
+ "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.15.1.tgz",
+ "integrity": "sha512-rW9XTXqs1v3sgcSFz7aE3/MPa2lfZjnsV/hrjyS/VYecQAx1lSP0hg3KumuR6ftkeneM093tVvTkRyKFumSyXg==",
"dev": true,
"engines": {
"node": ">=10"
@@ -5678,9 +5842,9 @@
}
},
"node_modules/laravel-mix/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz",
+ "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -5695,9 +5859,9 @@
}
},
"node_modules/laravel-mix/node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -5864,11 +6028,11 @@
}
},
"node_modules/memfs": {
- "version": "3.4.13",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz",
- "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==",
+ "version": "3.5.3",
+ "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz",
+ "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==",
"dependencies": {
- "fs-monkey": "^1.0.3"
+ "fs-monkey": "^1.0.4"
},
"engines": {
"node": ">= 4.0.0"
@@ -6005,9 +6169,9 @@
}
},
"node_modules/mini-css-extract-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz",
+ "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -6076,9 +6240,15 @@
}
},
"node_modules/nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==",
+ "version": "3.3.6",
+ "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz",
+ "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==",
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
"bin": {
"nanoid": "bin/nanoid.cjs"
},
@@ -6115,9 +6285,9 @@
}
},
"node_modules/node-fetch": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
- "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
+ "version": "2.6.11",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.11.tgz",
+ "integrity": "sha512-4I6pdBY1EthSqDmJkiNk3JIT8cswwR9nfeW/cPdUagJYEQG7R95WRH74wpz7ma8Gh/9dI9FP+OU+0E4FvtA55w==",
"dependencies": {
"whatwg-url": "^5.0.0"
},
@@ -6196,9 +6366,9 @@
}
},
"node_modules/node-notifier/node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -6229,9 +6399,9 @@
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
},
"node_modules/node-releases": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
- "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w=="
+ "version": "2.0.12",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.12.tgz",
+ "integrity": "sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ=="
},
"node_modules/normalize-path": {
"version": "3.0.0",
@@ -6633,9 +6803,9 @@
}
},
"node_modules/postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
+ "version": "8.4.24",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.24.tgz",
+ "integrity": "sha512-M0RzbcI0sO/XJNucsGjvWU9ERWxb/ytp1w6dKtxTKgixdtQDq4rmx/g8W1hnaheq9jgwL/oyEdH5Bc4WwJKMqg==",
"funding": [
{
"type": "opencollective",
@@ -6644,10 +6814,14 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/postcss"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
- "nanoid": "^3.3.4",
+ "nanoid": "^3.3.6",
"picocolors": "^1.0.0",
"source-map-js": "^1.0.2"
},
@@ -6804,9 +6978,9 @@
}
},
"node_modules/postcss-loader/node_modules/semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
+ "version": "7.5.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz",
+ "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==",
"dependencies": {
"lru-cache": "^6.0.0"
},
@@ -6926,9 +7100,9 @@
}
},
"node_modules/postcss-modules-local-by-default": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
- "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.3.tgz",
+ "integrity": "sha512-2/u2zraspoACtrbFRnTijMiQtb4GW4BvatjaG/bCjYQo8kLTdevCUlwuBHx2sCnSyrI3x3qj4ZK1j5LQBgzmwA==",
"dependencies": {
"icss-utils": "^5.0.0",
"postcss-selector-parser": "^6.0.2",
@@ -7139,9 +7313,9 @@
}
},
"node_modules/postcss-selector-parser": {
- "version": "6.0.11",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
- "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
+ "version": "6.0.13",
+ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz",
+ "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==",
"dependencies": {
"cssesc": "^3.0.0",
"util-deprecate": "^1.0.2"
@@ -7185,9 +7359,9 @@
"integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ=="
},
"node_modules/prettier": {
- "version": "2.8.7",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
- "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
+ "version": "2.8.8",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz",
+ "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==",
"dev": true,
"optional": true,
"bin": {
@@ -7287,15 +7461,15 @@
}
},
"node_modules/pusher-js/node_modules/@types/node": {
- "version": "14.18.40",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.40.tgz",
- "integrity": "sha512-pGteXO/JQX7wPxGR8lyT+doqjMa7XvlVowwrDwLfX92k5SdLkk4cwC7CYSLBxrenw/R5oQwKioVIak7ZgplM3g==",
+ "version": "14.18.50",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.50.tgz",
+ "integrity": "sha512-DdJP83r2Zp5x32la3jEzjIlB85+2gMPUHP1xFL2xFORzbJ94sNwh4b6ZBaF6EN/7BTII6mba3yakqfLEnt5eZg==",
"dev": true
},
"node_modules/qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
+ "version": "6.11.2",
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz",
+ "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==",
"dependencies": {
"side-channel": "^1.0.4"
},
@@ -7306,15 +7480,6 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==",
- "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.",
- "engines": {
- "node": ">=0.4.x"
- }
- },
"node_modules/querystring-es3": {
"version": "0.2.1",
"resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
@@ -7559,11 +7724,11 @@
"integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
},
"node_modules/resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
+ "version": "1.22.2",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz",
+ "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==",
"dependencies": {
- "is-core-module": "^2.9.0",
+ "is-core-module": "^2.11.0",
"path-parse": "^1.0.7",
"supports-preserve-symlinks-flag": "^1.0.0"
},
@@ -7704,9 +7869,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sass": {
- "version": "1.60.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.60.0.tgz",
- "integrity": "sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ==",
+ "version": "1.63.3",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.3.tgz",
+ "integrity": "sha512-ySdXN+DVpfwq49jG1+hmtDslYqpS7SkOR5GpF6o2bmb1RL/xS+wvPmegMvMywyfsmAV6p7TgwXYGrCZIFFbAHg==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
@@ -7717,7 +7882,7 @@
"sass": "sass.js"
},
"engines": {
- "node": ">=12.0.0"
+ "node": ">=14.0.0"
}
},
"node_modules/sass-loader": {
@@ -7988,9 +8153,9 @@
}
},
"node_modules/shell-quote": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz",
- "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ==",
+ "version": "1.8.1",
+ "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz",
+ "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==",
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -8122,9 +8287,9 @@
}
},
"node_modules/std-env": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz",
- "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA=="
+ "version": "3.3.3",
+ "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.3.tgz",
+ "integrity": "sha512-Rz6yejtVyWnVjC1RFvNmYL10kgjC49EOghxWn0RFqlCHGFpQx+Xe7yW3I4ceK1SGrWIGMjD5Kbue8W/udkbMJg=="
},
"node_modules/stream-browserify": {
"version": "2.0.2",
@@ -8207,9 +8372,9 @@
}
},
"node_modules/style-loader/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz",
+ "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -8303,12 +8468,12 @@
}
},
"node_modules/terser": {
- "version": "5.16.8",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.8.tgz",
- "integrity": "sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==",
+ "version": "5.17.7",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.7.tgz",
+ "integrity": "sha512-/bi0Zm2C6VAexlGgLlVxA0P2lru/sdLyfCVaRMfKVo9nWxbmz7f/sD8VPybPeSUJaJcwmCJis9pBIhcVcG1QcQ==",
"dependencies": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
+ "@jridgewell/source-map": "^0.3.3",
+ "acorn": "^8.8.2",
"commander": "^2.20.0",
"source-map-support": "~0.5.20"
},
@@ -8320,15 +8485,15 @@
}
},
"node_modules/terser-webpack-plugin": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz",
- "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==",
+ "version": "5.3.9",
+ "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz",
+ "integrity": "sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==",
"dependencies": {
"@jridgewell/trace-mapping": "^0.3.17",
"jest-worker": "^27.4.5",
"schema-utils": "^3.1.1",
"serialize-javascript": "^6.0.1",
- "terser": "^5.16.5"
+ "terser": "^5.16.8"
},
"engines": {
"node": ">= 10.13.0"
@@ -8353,9 +8518,9 @@
}
},
"node_modules/terser-webpack-plugin/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz",
+ "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -8433,9 +8598,9 @@
"integrity": "sha512-B5CXihaVzXw+1UHhNFyAwUTMDk1EfoLP5Tj1VhD9yybZ1I8DZJEv8tZ1l0RJo0t0tk9ZhR8eG5tEsaCvRigmdQ=="
},
"node_modules/tslib": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
- "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
+ "version": "2.5.3",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz",
+ "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w=="
},
"node_modules/tty-browserify": {
"version": "0.0.0",
@@ -8521,9 +8686,9 @@
}
},
"node_modules/update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+ "version": "1.0.11",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz",
+ "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==",
"funding": [
{
"type": "opencollective",
@@ -8532,6 +8697,10 @@
{
"type": "tidelift",
"url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
}
],
"dependencies": {
@@ -8539,7 +8708,7 @@
"picocolors": "^1.0.0"
},
"bin": {
- "browserslist-lint": "cli.js"
+ "update-browserslist-db": "cli.js"
},
"peerDependencies": {
"browserslist": ">= 4.21.0"
@@ -8562,12 +8731,12 @@
}
},
"node_modules/url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
+ "version": "0.11.1",
+ "resolved": "https://registry.npmjs.org/url/-/url-0.11.1.tgz",
+ "integrity": "sha512-rWS3H04/+mzzJkv0eZ7vEDGiQbgquI1fGfOad6zKvgYQi1SzMmhl7c/DdRGxhaWrVH6z0qWITo8rpnxK/RfEhA==",
"dependencies": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
+ "punycode": "^1.4.1",
+ "qs": "^6.11.0"
}
},
"node_modules/url-polyfill": {
@@ -8575,11 +8744,6 @@
"resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz",
"integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A=="
},
- "node_modules/url/node_modules/punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
- },
"node_modules/util": {
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
@@ -8891,21 +9055,21 @@
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"node_modules/webpack": {
- "version": "5.76.3",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.3.tgz",
- "integrity": "sha512-18Qv7uGPU8b2vqGeEEObnfICyw2g39CHlDEK4I7NK13LOur1d0HGmGNKGT58Eluwddpn3oEejwvBPoP4M7/KSA==",
+ "version": "5.86.0",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.86.0.tgz",
+ "integrity": "sha512-3BOvworZ8SO/D4GVP+GoRC3fVeg5MO4vzmq8TJJEkdmopxyazGDxN8ClqN12uzrZW9Tv8EED8v5VSb6Sqyi0pg==",
"dependencies": {
"@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
+ "@types/estree": "^1.0.0",
+ "@webassemblyjs/ast": "^1.11.5",
+ "@webassemblyjs/wasm-edit": "^1.11.5",
+ "@webassemblyjs/wasm-parser": "^1.11.5",
"acorn": "^8.7.1",
- "acorn-import-assertions": "^1.7.6",
+ "acorn-import-assertions": "^1.9.0",
"browserslist": "^4.14.5",
"chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.10.0",
- "es-module-lexer": "^0.9.0",
+ "enhanced-resolve": "^5.14.1",
+ "es-module-lexer": "^1.2.1",
"eslint-scope": "5.1.1",
"events": "^3.2.0",
"glob-to-regexp": "^0.4.1",
@@ -8914,9 +9078,9 @@
"loader-runner": "^4.2.0",
"mime-types": "^2.1.27",
"neo-async": "^2.6.2",
- "schema-utils": "^3.1.0",
+ "schema-utils": "^3.1.2",
"tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
+ "terser-webpack-plugin": "^5.3.7",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
@@ -9090,14 +9254,14 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
},
"node_modules/webpack-dev-middleware/node_modules/schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.1.0.tgz",
+ "integrity": "sha512-Jw+GZVbP5IggB2WAn6UHI02LBwGmsIeYN/lNbSMZyDziQ7jmtAUrqKqDja+W89YHVs+KL/3IkIMltAklqB1vAw==",
"dependencies": {
"@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
+ "ajv": "^8.9.0",
"ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
+ "ajv-keywords": "^5.1.0"
},
"engines": {
"node": ">= 12.13.0"
@@ -9108,9 +9272,9 @@
}
},
"node_modules/webpack-dev-server": {
- "version": "4.13.1",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.1.tgz",
- "integrity": "sha512-5tWg00bnWbYgkN+pd5yISQKDejRBYGEw15RaEEslH+zdbNDxxaZvEAO2WulaSaFKb5n3YG8JXsGaDsut1D0xdA==",
+ "version": "4.15.1",
+ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz",
+ "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==",
"dependencies": {
"@types/bonjour": "^3.5.9",
"@types/connect-history-api-fallback": "^1.3.5",
@@ -9118,7 +9282,7 @@
"@types/serve-index": "^1.9.1",
"@types/serve-static": "^1.13.10",
"@types/sockjs": "^0.3.33",
- "@types/ws": "^8.5.1",
+ "@types/ws": "^8.5.5",
"ansi-html-community": "^0.0.8",
"bonjour-service": "^1.0.11",
"chokidar": "^3.5.3",
@@ -9197,14 +9361,14 @@
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
},
"node_modules/webpack-dev-server/node_modules/schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.1.0.tgz",
+ "integrity": "sha512-Jw+GZVbP5IggB2WAn6UHI02LBwGmsIeYN/lNbSMZyDziQ7jmtAUrqKqDja+W89YHVs+KL/3IkIMltAklqB1vAw==",
"dependencies": {
"@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
+ "ajv": "^8.9.0",
"ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
+ "ajv-keywords": "^5.1.0"
},
"engines": {
"node": ">= 12.13.0"
@@ -9215,9 +9379,9 @@
}
},
"node_modules/webpack-merge": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
- "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
+ "version": "5.9.0",
+ "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.9.0.tgz",
+ "integrity": "sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==",
"dependencies": {
"clone-deep": "^4.0.1",
"wildcard": "^2.0.0"
@@ -9253,9 +9417,9 @@
}
},
"node_modules/webpack/node_modules/schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.2.0.tgz",
+ "integrity": "sha512-0zTyLGyDJYd/MBxG1AhJkKa6fpEBds4OQO2ut0w7OYG+ZGhGea09lijvzsqegYSik88zc7cUtIlnnO+/BvD6gQ==",
"dependencies": {
"@types/json-schema": "^7.0.8",
"ajv": "^6.12.5",
@@ -9337,9 +9501,9 @@
}
},
"node_modules/wildcard": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
- "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw=="
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz",
+ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ=="
},
"node_modules/wrap-ansi": {
"version": "7.0.0",
@@ -9412,9 +9576,9 @@
}
},
"node_modules/yargs": {
- "version": "17.7.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
- "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
"dependencies": {
"cliui": "^8.0.1",
"escalade": "^3.1.1",
@@ -9441,6969 +9605,5 @@
"resolved": "https://registry.npmjs.org/zuck.js/-/zuck.js-1.6.0.tgz",
"integrity": "sha512-3qmtPkymsnIC1ekjzqwfSpqrVEMU6KMovQOB+Hj+LuykxtcsQcOfhRJDgyOJvA15NC6PYhiBJQTDO2N1XCCH6Q=="
}
- },
- "dependencies": {
- "@ampproject/remapping": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz",
- "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==",
- "requires": {
- "@jridgewell/gen-mapping": "^0.1.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- },
- "@babel/code-frame": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz",
- "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==",
- "requires": {
- "@babel/highlight": "^7.18.6"
- }
- },
- "@babel/compat-data": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.0.tgz",
- "integrity": "sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g=="
- },
- "@babel/core": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.3.tgz",
- "integrity": "sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw==",
- "requires": {
- "@ampproject/remapping": "^2.2.0",
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.21.3",
- "@babel/helper-compilation-targets": "^7.20.7",
- "@babel/helper-module-transforms": "^7.21.2",
- "@babel/helpers": "^7.21.0",
- "@babel/parser": "^7.21.3",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.3",
- "@babel/types": "^7.21.3",
- "convert-source-map": "^1.7.0",
- "debug": "^4.1.0",
- "gensync": "^1.0.0-beta.2",
- "json5": "^2.2.2",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/generator": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.3.tgz",
- "integrity": "sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA==",
- "requires": {
- "@babel/types": "^7.21.3",
- "@jridgewell/gen-mapping": "^0.3.2",
- "@jridgewell/trace-mapping": "^0.3.17",
- "jsesc": "^2.5.1"
- },
- "dependencies": {
- "@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- }
- }
- },
- "@babel/helper-annotate-as-pure": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz",
- "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==",
- "requires": {
- "@babel/types": "^7.18.6"
- }
- },
- "@babel/helper-builder-binary-assignment-operator-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz",
- "integrity": "sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==",
- "requires": {
- "@babel/helper-explode-assignable-expression": "^7.18.6",
- "@babel/types": "^7.18.9"
- }
- },
- "@babel/helper-compilation-targets": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz",
- "integrity": "sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==",
- "requires": {
- "@babel/compat-data": "^7.20.5",
- "@babel/helper-validator-option": "^7.18.6",
- "browserslist": "^4.21.3",
- "lru-cache": "^5.1.1",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/helper-create-class-features-plugin": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.0.tgz",
- "integrity": "sha512-Q8wNiMIdwsv5la5SPxNYzzkPnjgC0Sy0i7jLkVOCdllu/xcVNkr3TeZzbHBJrj+XXRqzX5uCyCoV9eu6xUG7KQ==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.21.0",
- "@babel/helper-member-expression-to-functions": "^7.21.0",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-replace-supers": "^7.20.7",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/helper-split-export-declaration": "^7.18.6"
- }
- },
- "@babel/helper-create-regexp-features-plugin": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.0.tgz",
- "integrity": "sha512-N+LaFW/auRSWdx7SHD/HiARwXQju1vXTW4fKr4u5SgBUTm51OKEjKgj+cs00ggW3kEvNqwErnlwuq7Y3xBe4eg==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "regexpu-core": "^5.3.1"
- }
- },
- "@babel/helper-define-polyfill-provider": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz",
- "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==",
- "requires": {
- "@babel/helper-compilation-targets": "^7.17.7",
- "@babel/helper-plugin-utils": "^7.16.7",
- "debug": "^4.1.1",
- "lodash.debounce": "^4.0.8",
- "resolve": "^1.14.2",
- "semver": "^6.1.2"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/helper-environment-visitor": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz",
- "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg=="
- },
- "@babel/helper-explode-assignable-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz",
- "integrity": "sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==",
- "requires": {
- "@babel/types": "^7.18.6"
- }
- },
- "@babel/helper-function-name": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz",
- "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==",
- "requires": {
- "@babel/template": "^7.20.7",
- "@babel/types": "^7.21.0"
- }
- },
- "@babel/helper-hoist-variables": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz",
- "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==",
- "requires": {
- "@babel/types": "^7.18.6"
- }
- },
- "@babel/helper-member-expression-to-functions": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz",
- "integrity": "sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==",
- "requires": {
- "@babel/types": "^7.21.0"
- }
- },
- "@babel/helper-module-imports": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz",
- "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==",
- "requires": {
- "@babel/types": "^7.18.6"
- }
- },
- "@babel/helper-module-transforms": {
- "version": "7.21.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz",
- "integrity": "sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==",
- "requires": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-simple-access": "^7.20.2",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/helper-validator-identifier": "^7.19.1",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.2",
- "@babel/types": "^7.21.2"
- }
- },
- "@babel/helper-optimise-call-expression": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz",
- "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==",
- "requires": {
- "@babel/types": "^7.18.6"
- }
- },
- "@babel/helper-plugin-utils": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz",
- "integrity": "sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ=="
- },
- "@babel/helper-remap-async-to-generator": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz",
- "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-wrap-function": "^7.18.9",
- "@babel/types": "^7.18.9"
- }
- },
- "@babel/helper-replace-supers": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz",
- "integrity": "sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==",
- "requires": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-member-expression-to-functions": "^7.20.7",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.20.7",
- "@babel/types": "^7.20.7"
- }
- },
- "@babel/helper-simple-access": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz",
- "integrity": "sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==",
- "requires": {
- "@babel/types": "^7.20.2"
- }
- },
- "@babel/helper-skip-transparent-expression-wrappers": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz",
- "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==",
- "requires": {
- "@babel/types": "^7.20.0"
- }
- },
- "@babel/helper-split-export-declaration": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz",
- "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==",
- "requires": {
- "@babel/types": "^7.18.6"
- }
- },
- "@babel/helper-string-parser": {
- "version": "7.19.4",
- "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz",
- "integrity": "sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw=="
- },
- "@babel/helper-validator-identifier": {
- "version": "7.19.1",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz",
- "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w=="
- },
- "@babel/helper-validator-option": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz",
- "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ=="
- },
- "@babel/helper-wrap-function": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz",
- "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==",
- "requires": {
- "@babel/helper-function-name": "^7.19.0",
- "@babel/template": "^7.18.10",
- "@babel/traverse": "^7.20.5",
- "@babel/types": "^7.20.5"
- }
- },
- "@babel/helpers": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.0.tgz",
- "integrity": "sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==",
- "requires": {
- "@babel/template": "^7.20.7",
- "@babel/traverse": "^7.21.0",
- "@babel/types": "^7.21.0"
- }
- },
- "@babel/highlight": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz",
- "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==",
- "requires": {
- "@babel/helper-validator-identifier": "^7.18.6",
- "chalk": "^2.0.0",
- "js-tokens": "^4.0.0"
- },
- "dependencies": {
- "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==",
- "requires": {
- "color-convert": "^1.9.0"
- }
- },
- "chalk": {
- "version": "2.4.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
- "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
- "requires": {
- "ansi-styles": "^3.2.1",
- "escape-string-regexp": "^1.0.5",
- "supports-color": "^5.3.0"
- }
- },
- "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==",
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- },
- "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=="
- },
- "supports-color": {
- "version": "5.5.0",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
- "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
- "requires": {
- "has-flag": "^3.0.0"
- }
- }
- }
- },
- "@babel/parser": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.3.tgz",
- "integrity": "sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ=="
- },
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": {
- "version": "7.18.6",
- "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.18.6.tgz",
- "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz",
- "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/plugin-proposal-optional-chaining": "^7.20.7"
- }
- },
- "@babel/plugin-proposal-async-generator-functions": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz",
- "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==",
- "requires": {
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-remap-async-to-generator": "^7.18.9",
- "@babel/plugin-syntax-async-generators": "^7.8.4"
- }
- },
- "@babel/plugin-proposal-class-properties": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz",
- "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-proposal-class-static-block": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz",
- "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.21.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-class-static-block": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-dynamic-import": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz",
- "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-dynamic-import": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-export-namespace-from": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz",
- "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9",
- "@babel/plugin-syntax-export-namespace-from": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-json-strings": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz",
- "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-json-strings": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-logical-assignment-operators": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz",
- "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4"
- }
- },
- "@babel/plugin-proposal-nullish-coalescing-operator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz",
- "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-numeric-separator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz",
- "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-numeric-separator": "^7.10.4"
- }
- },
- "@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==",
- "requires": {
- "@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"
- }
- },
- "@babel/plugin-proposal-optional-catch-binding": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz",
- "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/plugin-syntax-optional-catch-binding": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-optional-chaining": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz",
- "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0",
- "@babel/plugin-syntax-optional-chaining": "^7.8.3"
- }
- },
- "@babel/plugin-proposal-private-methods": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz",
- "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==",
- "requires": {
- "@babel/helper-create-class-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-proposal-private-property-in-object": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz",
- "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-create-class-features-plugin": "^7.21.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/plugin-syntax-private-property-in-object": "^7.14.5"
- }
- },
- "@babel/plugin-proposal-unicode-property-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz",
- "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.12.13"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.3"
- }
- },
- "@babel/plugin-syntax-import-assertions": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz",
- "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.19.0"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.10.4"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.8.0"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@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==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.14.5"
- }
- },
- "@babel/plugin-transform-arrow-functions": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz",
- "integrity": "sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2"
- }
- },
- "@babel/plugin-transform-async-to-generator": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz",
- "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==",
- "requires": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-remap-async-to-generator": "^7.18.9"
- }
- },
- "@babel/plugin-transform-block-scoped-functions": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz",
- "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-block-scoping": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz",
- "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2"
- }
- },
- "@babel/plugin-transform-classes": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz",
- "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==",
- "requires": {
- "@babel/helper-annotate-as-pure": "^7.18.6",
- "@babel/helper-compilation-targets": "^7.20.7",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.21.0",
- "@babel/helper-optimise-call-expression": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-replace-supers": "^7.20.7",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "globals": "^11.1.0"
- }
- },
- "@babel/plugin-transform-computed-properties": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz",
- "integrity": "sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/template": "^7.20.7"
- }
- },
- "@babel/plugin-transform-destructuring": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz",
- "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2"
- }
- },
- "@babel/plugin-transform-dotall-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz",
- "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-duplicate-keys": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz",
- "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
- }
- },
- "@babel/plugin-transform-exponentiation-operator": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz",
- "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==",
- "requires": {
- "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-for-of": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz",
- "integrity": "sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2"
- }
- },
- "@babel/plugin-transform-function-name": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz",
- "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==",
- "requires": {
- "@babel/helper-compilation-targets": "^7.18.9",
- "@babel/helper-function-name": "^7.18.9",
- "@babel/helper-plugin-utils": "^7.18.9"
- }
- },
- "@babel/plugin-transform-literals": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz",
- "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
- }
- },
- "@babel/plugin-transform-member-expression-literals": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz",
- "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-modules-amd": {
- "version": "7.20.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz",
- "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==",
- "requires": {
- "@babel/helper-module-transforms": "^7.20.11",
- "@babel/helper-plugin-utils": "^7.20.2"
- }
- },
- "@babel/plugin-transform-modules-commonjs": {
- "version": "7.21.2",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz",
- "integrity": "sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==",
- "requires": {
- "@babel/helper-module-transforms": "^7.21.2",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-simple-access": "^7.20.2"
- }
- },
- "@babel/plugin-transform-modules-systemjs": {
- "version": "7.20.11",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz",
- "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==",
- "requires": {
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-module-transforms": "^7.20.11",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-validator-identifier": "^7.19.1"
- }
- },
- "@babel/plugin-transform-modules-umd": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz",
- "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==",
- "requires": {
- "@babel/helper-module-transforms": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-named-capturing-groups-regex": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz",
- "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.20.5",
- "@babel/helper-plugin-utils": "^7.20.2"
- }
- },
- "@babel/plugin-transform-new-target": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz",
- "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-object-super": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz",
- "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6",
- "@babel/helper-replace-supers": "^7.18.6"
- }
- },
- "@babel/plugin-transform-parameters": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz",
- "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2"
- }
- },
- "@babel/plugin-transform-property-literals": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz",
- "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-regenerator": {
- "version": "7.20.5",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz",
- "integrity": "sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "regenerator-transform": "^0.15.1"
- }
- },
- "@babel/plugin-transform-reserved-words": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz",
- "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.0.tgz",
- "integrity": "sha512-ReY6pxwSzEU0b3r2/T/VhqMKg/AkceBT19X0UptA3/tYi5Pe2eXgEUH+NNMC5nok6c6XQz5tyVTUpuezRfSMSg==",
- "requires": {
- "@babel/helper-module-imports": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.20.2",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/plugin-transform-shorthand-properties": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz",
- "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-spread": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz",
- "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0"
- }
- },
- "@babel/plugin-transform-sticky-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz",
- "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/plugin-transform-template-literals": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz",
- "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
- }
- },
- "@babel/plugin-transform-typeof-symbol": {
- "version": "7.18.9",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz",
- "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
- }
- },
- "@babel/plugin-transform-unicode-escapes": {
- "version": "7.18.10",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz",
- "integrity": "sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.18.9"
- }
- },
- "@babel/plugin-transform-unicode-regex": {
- "version": "7.18.6",
- "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz",
- "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==",
- "requires": {
- "@babel/helper-create-regexp-features-plugin": "^7.18.6",
- "@babel/helper-plugin-utils": "^7.18.6"
- }
- },
- "@babel/preset-env": {
- "version": "7.20.2",
- "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.20.2.tgz",
- "integrity": "sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==",
- "requires": {
- "@babel/compat-data": "^7.20.1",
- "@babel/helper-compilation-targets": "^7.20.0",
- "@babel/helper-plugin-utils": "^7.20.2",
- "@babel/helper-validator-option": "^7.18.6",
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6",
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.18.9",
- "@babel/plugin-proposal-async-generator-functions": "^7.20.1",
- "@babel/plugin-proposal-class-properties": "^7.18.6",
- "@babel/plugin-proposal-class-static-block": "^7.18.6",
- "@babel/plugin-proposal-dynamic-import": "^7.18.6",
- "@babel/plugin-proposal-export-namespace-from": "^7.18.9",
- "@babel/plugin-proposal-json-strings": "^7.18.6",
- "@babel/plugin-proposal-logical-assignment-operators": "^7.18.9",
- "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
- "@babel/plugin-proposal-numeric-separator": "^7.18.6",
- "@babel/plugin-proposal-object-rest-spread": "^7.20.2",
- "@babel/plugin-proposal-optional-catch-binding": "^7.18.6",
- "@babel/plugin-proposal-optional-chaining": "^7.18.9",
- "@babel/plugin-proposal-private-methods": "^7.18.6",
- "@babel/plugin-proposal-private-property-in-object": "^7.18.6",
- "@babel/plugin-proposal-unicode-property-regex": "^7.18.6",
- "@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.20.0",
- "@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-transform-arrow-functions": "^7.18.6",
- "@babel/plugin-transform-async-to-generator": "^7.18.6",
- "@babel/plugin-transform-block-scoped-functions": "^7.18.6",
- "@babel/plugin-transform-block-scoping": "^7.20.2",
- "@babel/plugin-transform-classes": "^7.20.2",
- "@babel/plugin-transform-computed-properties": "^7.18.9",
- "@babel/plugin-transform-destructuring": "^7.20.2",
- "@babel/plugin-transform-dotall-regex": "^7.18.6",
- "@babel/plugin-transform-duplicate-keys": "^7.18.9",
- "@babel/plugin-transform-exponentiation-operator": "^7.18.6",
- "@babel/plugin-transform-for-of": "^7.18.8",
- "@babel/plugin-transform-function-name": "^7.18.9",
- "@babel/plugin-transform-literals": "^7.18.9",
- "@babel/plugin-transform-member-expression-literals": "^7.18.6",
- "@babel/plugin-transform-modules-amd": "^7.19.6",
- "@babel/plugin-transform-modules-commonjs": "^7.19.6",
- "@babel/plugin-transform-modules-systemjs": "^7.19.6",
- "@babel/plugin-transform-modules-umd": "^7.18.6",
- "@babel/plugin-transform-named-capturing-groups-regex": "^7.19.1",
- "@babel/plugin-transform-new-target": "^7.18.6",
- "@babel/plugin-transform-object-super": "^7.18.6",
- "@babel/plugin-transform-parameters": "^7.20.1",
- "@babel/plugin-transform-property-literals": "^7.18.6",
- "@babel/plugin-transform-regenerator": "^7.18.6",
- "@babel/plugin-transform-reserved-words": "^7.18.6",
- "@babel/plugin-transform-shorthand-properties": "^7.18.6",
- "@babel/plugin-transform-spread": "^7.19.0",
- "@babel/plugin-transform-sticky-regex": "^7.18.6",
- "@babel/plugin-transform-template-literals": "^7.18.9",
- "@babel/plugin-transform-typeof-symbol": "^7.18.9",
- "@babel/plugin-transform-unicode-escapes": "^7.18.10",
- "@babel/plugin-transform-unicode-regex": "^7.18.6",
- "@babel/preset-modules": "^0.1.5",
- "@babel/types": "^7.20.2",
- "babel-plugin-polyfill-corejs2": "^0.3.3",
- "babel-plugin-polyfill-corejs3": "^0.6.0",
- "babel-plugin-polyfill-regenerator": "^0.4.1",
- "core-js-compat": "^3.25.1",
- "semver": "^6.3.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "@babel/preset-modules": {
- "version": "0.1.5",
- "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz",
- "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==",
- "requires": {
- "@babel/helper-plugin-utils": "^7.0.0",
- "@babel/plugin-proposal-unicode-property-regex": "^7.4.4",
- "@babel/plugin-transform-dotall-regex": "^7.4.4",
- "@babel/types": "^7.4.4",
- "esutils": "^2.0.2"
- }
- },
- "@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=="
- },
- "@babel/runtime": {
- "version": "7.21.0",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz",
- "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==",
- "requires": {
- "regenerator-runtime": "^0.13.11"
- }
- },
- "@babel/template": {
- "version": "7.20.7",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz",
- "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==",
- "requires": {
- "@babel/code-frame": "^7.18.6",
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7"
- }
- },
- "@babel/traverse": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.3.tgz",
- "integrity": "sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ==",
- "requires": {
- "@babel/code-frame": "^7.18.6",
- "@babel/generator": "^7.21.3",
- "@babel/helper-environment-visitor": "^7.18.9",
- "@babel/helper-function-name": "^7.21.0",
- "@babel/helper-hoist-variables": "^7.18.6",
- "@babel/helper-split-export-declaration": "^7.18.6",
- "@babel/parser": "^7.21.3",
- "@babel/types": "^7.21.3",
- "debug": "^4.1.0",
- "globals": "^11.1.0"
- }
- },
- "@babel/types": {
- "version": "7.21.3",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.3.tgz",
- "integrity": "sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==",
- "requires": {
- "@babel/helper-string-parser": "^7.19.4",
- "@babel/helper-validator-identifier": "^7.19.1",
- "to-fast-properties": "^2.0.0"
- }
- },
- "@colors/colors": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz",
- "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==",
- "optional": true
- },
- "@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=="
- },
- "@fancyapps/fancybox": {
- "version": "3.5.7",
- "resolved": "https://registry.npmjs.org/@fancyapps/fancybox/-/fancybox-3.5.7.tgz",
- "integrity": "sha512-rcEtu8t+WnmqIDV/Wfm1yvy/nDdwc7YV25j9HLxGC2/WOsUhk9rcWg2nB8g1BrjRt9zaoADdjHTU6ILYTJzBBg==",
- "requires": {}
- },
- "@jridgewell/gen-mapping": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz",
- "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==",
- "requires": {
- "@jridgewell/set-array": "^1.0.0",
- "@jridgewell/sourcemap-codec": "^1.4.10"
- }
- },
- "@jridgewell/resolve-uri": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz",
- "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w=="
- },
- "@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
- },
- "@jridgewell/source-map": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.2.tgz",
- "integrity": "sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==",
- "requires": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
- },
- "dependencies": {
- "@jridgewell/gen-mapping": {
- "version": "0.3.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz",
- "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==",
- "requires": {
- "@jridgewell/set-array": "^1.0.1",
- "@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
- }
- }
- }
- },
- "@jridgewell/sourcemap-codec": {
- "version": "1.4.14",
- "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz",
- "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw=="
- },
- "@jridgewell/trace-mapping": {
- "version": "0.3.17",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz",
- "integrity": "sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==",
- "requires": {
- "@jridgewell/resolve-uri": "3.1.0",
- "@jridgewell/sourcemap-codec": "1.4.14"
- }
- },
- "@leichtgewicht/ip-codec": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz",
- "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A=="
- },
- "@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==",
- "requires": {
- "@nodelib/fs.stat": "2.0.5",
- "run-parallel": "^1.1.9"
- }
- },
- "@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=="
- },
- "@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==",
- "requires": {
- "@nodelib/fs.scandir": "2.1.5",
- "fastq": "^1.6.0"
- }
- },
- "@nuxt/opencollective": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@nuxt/opencollective/-/opencollective-0.3.3.tgz",
- "integrity": "sha512-6IKCd+gP0HliixqZT/p8nW3tucD6Sv/u/eR2A9X4rxT/6hXlMzA4GZQzq4d2qnBAwSwGpmKyzkyTjNjrhaA25A==",
- "requires": {
- "chalk": "^4.1.0",
- "consola": "^2.15.0",
- "node-fetch": "^2.6.7"
- }
- },
- "@trevoreyre/autocomplete-vue": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/@trevoreyre/autocomplete-vue/-/autocomplete-vue-2.4.1.tgz",
- "integrity": "sha512-LEwoRP18TPFzLtJm4CP99rRZ+0YRO9GrjxKsVNmxGZPsAmNRywkUYXnyZh0kpK2TgUf2JXs9BRJAPrNxcOmdYw=="
- },
- "@trysound/sax": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz",
- "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA=="
- },
- "@types/babel__core": {
- "version": "7.20.0",
- "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.0.tgz",
- "integrity": "sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==",
- "requires": {
- "@babel/parser": "^7.20.7",
- "@babel/types": "^7.20.7",
- "@types/babel__generator": "*",
- "@types/babel__template": "*",
- "@types/babel__traverse": "*"
- }
- },
- "@types/babel__generator": {
- "version": "7.6.4",
- "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz",
- "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==",
- "requires": {
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__template": {
- "version": "7.4.1",
- "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz",
- "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==",
- "requires": {
- "@babel/parser": "^7.1.0",
- "@babel/types": "^7.0.0"
- }
- },
- "@types/babel__traverse": {
- "version": "7.18.3",
- "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.18.3.tgz",
- "integrity": "sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w==",
- "requires": {
- "@babel/types": "^7.3.0"
- }
- },
- "@types/body-parser": {
- "version": "1.19.2",
- "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz",
- "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==",
- "requires": {
- "@types/connect": "*",
- "@types/node": "*"
- }
- },
- "@types/bonjour": {
- "version": "3.5.10",
- "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz",
- "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/clean-css": {
- "version": "4.2.6",
- "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.6.tgz",
- "integrity": "sha512-Ze1tf+LnGPmG6hBFMi0B4TEB0mhF7EiMM5oyjLDNPE9hxrPU0W+5+bHvO+eFPA+bt0iC1zkQMoU/iGdRVjcRbw==",
- "requires": {
- "@types/node": "*",
- "source-map": "^0.6.0"
- }
- },
- "@types/connect": {
- "version": "3.4.35",
- "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz",
- "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/connect-history-api-fallback": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz",
- "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==",
- "requires": {
- "@types/express-serve-static-core": "*",
- "@types/node": "*"
- }
- },
- "@types/eslint": {
- "version": "8.21.3",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.21.3.tgz",
- "integrity": "sha512-fa7GkppZVEByMWGbTtE5MbmXWJTVbrjjaS8K6uQj+XtuuUv1fsuPAxhygfqLmsb/Ufb3CV8deFCpiMfAgi00Sw==",
- "requires": {
- "@types/estree": "*",
- "@types/json-schema": "*"
- }
- },
- "@types/eslint-scope": {
- "version": "3.7.4",
- "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz",
- "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==",
- "requires": {
- "@types/eslint": "*",
- "@types/estree": "*"
- }
- },
- "@types/estree": {
- "version": "0.0.51",
- "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz",
- "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ=="
- },
- "@types/express": {
- "version": "4.17.17",
- "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz",
- "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==",
- "requires": {
- "@types/body-parser": "*",
- "@types/express-serve-static-core": "^4.17.33",
- "@types/qs": "*",
- "@types/serve-static": "*"
- },
- "dependencies": {
- "@types/express-serve-static-core": {
- "version": "4.17.33",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz",
- "integrity": "sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==",
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- }
- }
- },
- "@types/express-serve-static-core": {
- "version": "4.17.28",
- "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz",
- "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==",
- "requires": {
- "@types/node": "*",
- "@types/qs": "*",
- "@types/range-parser": "*"
- }
- },
- "@types/glob": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz",
- "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==",
- "requires": {
- "@types/minimatch": "*",
- "@types/node": "*"
- }
- },
- "@types/http-proxy": {
- "version": "1.17.10",
- "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.10.tgz",
- "integrity": "sha512-Qs5aULi+zV1bwKAg5z1PWnDXWmsn+LxIvUGv6E2+OOMYhclZMO+OXd9pYVf2gLykf2I7IV2u7oTHwChPNsvJ7g==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/imagemin": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.1.tgz",
- "integrity": "sha512-DSpM//dRPzme7doePGkmR1uoquHi0h0ElaA5qFnxHECfFcB8z/jhMI8eqmxWNpHn9ZG18p4PC918sZLhR0cr5A==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@types/imagemin-gifsicle": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.1.tgz",
- "integrity": "sha512-kUz6sUh0P95JOS0RGEaaemWUrASuw+dLsWIveK2UZJx74id/B9epgblMkCk/r5MjUWbZ83wFvacG5Rb/f97gyA==",
- "requires": {
- "@types/imagemin": "*"
- }
- },
- "@types/imagemin-mozjpeg": {
- "version": "8.0.1",
- "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.1.tgz",
- "integrity": "sha512-kMQWEoKxxhlnH4POI3qfW9DjXlQfi80ux3l2b3j5R3eudSCoUIzKQLkfMjNJ6eMYnMWBcB+rfQOWqIzdIwFGKw==",
- "requires": {
- "@types/imagemin": "*"
- }
- },
- "@types/imagemin-optipng": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz",
- "integrity": "sha512-XCM/3q+HUL7v4zOqMI+dJ5dTxT+MUukY9KU49DSnYb/4yWtSMHJyADP+WHSMVzTR63J2ZvfUOzSilzBNEQW78g==",
- "requires": {
- "@types/imagemin": "*"
- }
- },
- "@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==",
- "requires": {
- "@types/imagemin": "*",
- "@types/svgo": "^1"
- }
- },
- "@types/json-schema": {
- "version": "7.0.11",
- "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz",
- "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ=="
- },
- "@types/mime": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz",
- "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA=="
- },
- "@types/minimatch": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-5.1.2.tgz",
- "integrity": "sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA=="
- },
- "@types/node": {
- "version": "18.15.9",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-18.15.9.tgz",
- "integrity": "sha512-dUxhiNzBLr6IqlZXz6e/rN2YQXlFgOei/Dxy+e3cyXTJ4txSUbGT2/fmnD6zd/75jDMeW5bDee+YXxlFKHoV0A=="
- },
- "@types/parse-json": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz",
- "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA=="
- },
- "@types/qs": {
- "version": "6.9.7",
- "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz",
- "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw=="
- },
- "@types/range-parser": {
- "version": "1.2.4",
- "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz",
- "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw=="
- },
- "@types/retry": {
- "version": "0.12.0",
- "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz",
- "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA=="
- },
- "@types/serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==",
- "requires": {
- "@types/express": "*"
- }
- },
- "@types/serve-static": {
- "version": "1.15.1",
- "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz",
- "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==",
- "requires": {
- "@types/mime": "*",
- "@types/node": "*"
- }
- },
- "@types/sockjs": {
- "version": "0.3.33",
- "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz",
- "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@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=="
- },
- "@types/ws": {
- "version": "8.5.4",
- "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz",
- "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==",
- "requires": {
- "@types/node": "*"
- }
- },
- "@vue/compiler-sfc": {
- "version": "2.7.14",
- "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-2.7.14.tgz",
- "integrity": "sha512-aNmNHyLPsw+sVvlQFQ2/8sjNuLtK54TC6cuKnVzAY93ks4ZBrvwQSnkkIh7bsbNhum5hJBS00wSDipQ937f5DA==",
- "requires": {
- "@babel/parser": "^7.18.4",
- "postcss": "^8.4.14",
- "source-map": "^0.6.1"
- }
- },
- "@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,
- "requires": {
- "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",
- "prettier": "^1.18.2 || ^2.0.0",
- "source-map": "~0.6.1",
- "vue-template-es2015-compiler": "^1.9.0"
- },
- "dependencies": {
- "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,
- "requires": {
- "pseudomap": "^1.0.2",
- "yallist": "^2.1.2"
- }
- },
- "picocolors": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz",
- "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==",
- "dev": true
- },
- "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,
- "requires": {
- "picocolors": "^0.2.1",
- "source-map": "^0.6.1"
- }
- },
- "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
- }
- }
- },
- "@web3-storage/parse-link-header": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/@web3-storage/parse-link-header/-/parse-link-header-3.1.0.tgz",
- "integrity": "sha512-K1undnK70vLLauqdE8bq/l98isTF2FDhcP0UPpXVSjkSWe3xhAn5eRXk5jfA1E5ycNm84Ws/rQFUD7ue11nciw=="
- },
- "@webassemblyjs/ast": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz",
- "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==",
- "requires": {
- "@webassemblyjs/helper-numbers": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1"
- }
- },
- "@webassemblyjs/floating-point-hex-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz",
- "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ=="
- },
- "@webassemblyjs/helper-api-error": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz",
- "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg=="
- },
- "@webassemblyjs/helper-buffer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz",
- "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA=="
- },
- "@webassemblyjs/helper-numbers": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz",
- "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==",
- "requires": {
- "@webassemblyjs/floating-point-hex-parser": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/helper-wasm-bytecode": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz",
- "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q=="
- },
- "@webassemblyjs/helper-wasm-section": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz",
- "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1"
- }
- },
- "@webassemblyjs/ieee754": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz",
- "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==",
- "requires": {
- "@xtuc/ieee754": "^1.2.0"
- }
- },
- "@webassemblyjs/leb128": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz",
- "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==",
- "requires": {
- "@xtuc/long": "4.2.2"
- }
- },
- "@webassemblyjs/utf8": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz",
- "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ=="
- },
- "@webassemblyjs/wasm-edit": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz",
- "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/helper-wasm-section": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-opt": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "@webassemblyjs/wast-printer": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-gen": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz",
- "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-opt": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz",
- "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-buffer": "1.11.1",
- "@webassemblyjs/wasm-gen": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1"
- }
- },
- "@webassemblyjs/wasm-parser": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz",
- "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/helper-api-error": "1.11.1",
- "@webassemblyjs/helper-wasm-bytecode": "1.11.1",
- "@webassemblyjs/ieee754": "1.11.1",
- "@webassemblyjs/leb128": "1.11.1",
- "@webassemblyjs/utf8": "1.11.1"
- }
- },
- "@webassemblyjs/wast-printer": {
- "version": "1.11.1",
- "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz",
- "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==",
- "requires": {
- "@webassemblyjs/ast": "1.11.1",
- "@xtuc/long": "4.2.2"
- }
- },
- "@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==",
- "requires": {}
- },
- "@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==",
- "requires": {
- "envinfo": "^7.7.3"
- }
- },
- "@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==",
- "requires": {}
- },
- "@xtuc/ieee754": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz",
- "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA=="
- },
- "@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=="
- },
- "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==",
- "requires": {
- "mime-types": "~2.1.34",
- "negotiator": "0.6.3"
- }
- },
- "acorn": {
- "version": "8.8.2",
- "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz",
- "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw=="
- },
- "acorn-import-assertions": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
- "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "requires": {}
- },
- "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,
- "requires": {
- "loader-utils": "^2.0.0",
- "regex-parser": "^2.2.11"
- }
- },
- "aggregate-error": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz",
- "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==",
- "dev": true,
- "requires": {
- "clean-stack": "^2.0.0",
- "indent-string": "^4.0.0"
- }
- },
- "ajv": {
- "version": "6.12.6",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
- "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "fast-json-stable-stringify": "^2.0.0",
- "json-schema-traverse": "^0.4.1",
- "uri-js": "^4.2.2"
- }
- },
- "ajv-formats": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
- "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
- "requires": {
- "ajv": "^8.0.0"
- },
- "dependencies": {
- "ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "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=="
- }
- }
- },
- "ajv-keywords": {
- "version": "3.5.2",
- "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
- "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "requires": {}
- },
- "animate.css": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/animate.css/-/animate.css-4.1.1.tgz",
- "integrity": "sha512-+mRmCTv6SbCmtYJCN4faJMNFVNN5EuCTTprDTAo7YzIGji2KADmakjVA3+8mVDkZ2Bf09vayB35lSQIex2+QaQ=="
- },
- "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=="
- },
- "ansi-regex": {
- "version": "5.0.1",
- "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
- "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ=="
- },
- "ansi-styles": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
- "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
- "requires": {
- "color-convert": "^2.0.1"
- }
- },
- "anymatch": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
- "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
- "requires": {
- "normalize-path": "^3.0.0",
- "picomatch": "^2.0.4"
- }
- },
- "array-flatten": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz",
- "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ=="
- },
- "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=="
- },
- "asn1.js": {
- "version": "5.4.1",
- "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz",
- "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==",
- "requires": {
- "bn.js": "^4.0.0",
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0",
- "safer-buffer": "^2.1.0"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "assert": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz",
- "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==",
- "requires": {
- "object-assign": "^4.1.1",
- "util": "0.10.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz",
- "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA=="
- },
- "util": {
- "version": "0.10.3",
- "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz",
- "integrity": "sha512-5KiHfsmkqacuKjkRkdV7SsfDJ2EGiPsK92s2MhNSY0craxjTdKTtqKsJaCWp4LW33ZZ0OPUv1WO/TFvNQRiQxQ==",
- "requires": {
- "inherits": "2.0.1"
- }
- }
- }
- },
- "autoprefixer": {
- "version": "10.4.14",
- "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz",
- "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==",
- "requires": {
- "browserslist": "^4.21.5",
- "caniuse-lite": "^1.0.30001464",
- "fraction.js": "^4.2.0",
- "normalize-range": "^0.1.2",
- "picocolors": "^1.0.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "axios": {
- "version": "0.21.4",
- "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz",
- "integrity": "sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==",
- "dev": true,
- "requires": {
- "follow-redirects": "^1.14.0"
- }
- },
- "babel-helper-vue-jsx-merge-props": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz",
- "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg=="
- },
- "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==",
- "requires": {
- "find-cache-dir": "^3.3.1",
- "loader-utils": "^2.0.0",
- "make-dir": "^3.1.0",
- "schema-utils": "^2.6.5"
- }
- },
- "babel-plugin-polyfill-corejs2": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz",
- "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==",
- "requires": {
- "@babel/compat-data": "^7.17.7",
- "@babel/helper-define-polyfill-provider": "^0.3.3",
- "semver": "^6.1.1"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "babel-plugin-polyfill-corejs3": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz",
- "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==",
- "requires": {
- "@babel/helper-define-polyfill-provider": "^0.3.3",
- "core-js-compat": "^3.25.1"
- }
- },
- "babel-plugin-polyfill-regenerator": {
- "version": "0.4.1",
- "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz",
- "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==",
- "requires": {
- "@babel/helper-define-polyfill-provider": "^0.3.3"
- }
- },
- "balanced-match": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
- "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
- },
- "base64-js": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
- "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
- },
- "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=="
- },
- "big.js": {
- "version": "5.2.2",
- "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz",
- "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ=="
- },
- "bigpicture": {
- "version": "2.6.2",
- "resolved": "https://registry.npmjs.org/bigpicture/-/bigpicture-2.6.2.tgz",
- "integrity": "sha512-IZmRDr7ZSJLDtDvOP/dfqvJhMBqV/tGQAl3UgvkaCzePIkHYlYV/uCg9349E4RPF3ng7QM+eqFZ2CY7tE6pLMA=="
- },
- "binary-extensions": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz",
- "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA=="
- },
- "bluebird": {
- "version": "3.7.2",
- "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz",
- "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==",
- "dev": true
- },
- "blurhash": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/blurhash/-/blurhash-1.1.5.tgz",
- "integrity": "sha512-a+LO3A2DfxTaTztsmkbLYmUzUeApi0LZuKalwbNmqAHR6HhJGMt1qSV/R3wc+w4DL28holjqO3Bg74aUGavGjg=="
- },
- "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=="
- },
- "body-parser": {
- "version": "1.20.1",
- "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz",
- "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==",
- "requires": {
- "bytes": "3.1.2",
- "content-type": "~1.0.4",
- "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.11.0",
- "raw-body": "2.5.1",
- "type-is": "~1.6.18",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- }
- }
- },
- "bonjour-service": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz",
- "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==",
- "requires": {
- "array-flatten": "^2.1.2",
- "dns-equal": "^1.0.0",
- "fast-deep-equal": "^3.1.3",
- "multicast-dns": "^7.2.5"
- }
- },
- "boolbase": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
- "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww=="
- },
- "bootstrap": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.2.tgz",
- "integrity": "sha512-51Bbp/Uxr9aTuy6ca/8FbFloBUJZLHwnhTcnjIeRn2suQWsWzcuJhGjKDB5eppVte/8oCdOL3VuwxvZDUggwGQ==",
- "requires": {}
- },
- "bootstrap-vue": {
- "version": "2.23.1",
- "resolved": "https://registry.npmjs.org/bootstrap-vue/-/bootstrap-vue-2.23.1.tgz",
- "integrity": "sha512-SEWkG4LzmMuWjQdSYmAQk1G/oOKm37dtNfjB5kxq0YafnL2W6qUAmeDTcIZVbPiQd2OQlIkWOMPBRGySk/zGsg==",
- "requires": {
- "@nuxt/opencollective": "^0.3.2",
- "bootstrap": "^4.6.1",
- "popper.js": "^1.16.1",
- "portal-vue": "^2.1.7",
- "vue-functional-data-merge": "^3.1.0"
- }
- },
- "brace-expansion": {
- "version": "1.1.11",
- "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
- "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
- "requires": {
- "balanced-match": "^1.0.0",
- "concat-map": "0.0.1"
- }
- },
- "braces": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
- "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
- "requires": {
- "fill-range": "^7.0.1"
- }
- },
- "brorand": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz",
- "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w=="
- },
- "browserify-aes": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz",
- "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==",
- "requires": {
- "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"
- }
- },
- "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==",
- "requires": {
- "browserify-aes": "^1.0.4",
- "browserify-des": "^1.0.0",
- "evp_bytestokey": "^1.0.0"
- }
- },
- "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==",
- "requires": {
- "cipher-base": "^1.0.1",
- "des.js": "^1.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "browserify-rsa": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz",
- "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==",
- "requires": {
- "bn.js": "^5.0.0",
- "randombytes": "^2.0.1"
- }
- },
- "browserify-sign": {
- "version": "4.2.1",
- "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz",
- "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==",
- "requires": {
- "bn.js": "^5.1.1",
- "browserify-rsa": "^4.0.1",
- "create-hash": "^1.2.0",
- "create-hmac": "^1.1.7",
- "elliptic": "^6.5.3",
- "inherits": "^2.0.4",
- "parse-asn1": "^5.1.5",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "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==",
- "requires": {
- "pako": "~1.0.5"
- }
- },
- "browserslist": {
- "version": "4.21.5",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
- "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
- "requires": {
- "caniuse-lite": "^1.0.30001449",
- "electron-to-chromium": "^1.4.284",
- "node-releases": "^2.0.8",
- "update-browserslist-db": "^1.0.10"
- }
- },
- "buffer": {
- "version": "4.9.2",
- "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz",
- "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==",
- "requires": {
- "base64-js": "^1.0.2",
- "ieee754": "^1.1.4",
- "isarray": "^1.0.0"
- }
- },
- "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=="
- },
- "buffer-xor": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz",
- "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ=="
- },
- "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=="
- },
- "bytes": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz",
- "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw=="
- },
- "call-bind": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz",
- "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==",
- "requires": {
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.0.2"
- }
- },
- "callsites": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
- "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ=="
- },
- "camel-case": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz",
- "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==",
- "requires": {
- "pascal-case": "^3.1.2",
- "tslib": "^2.0.3"
- }
- },
- "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==",
- "requires": {
- "browserslist": "^4.0.0",
- "caniuse-lite": "^1.0.0",
- "lodash.memoize": "^4.1.2",
- "lodash.uniq": "^4.5.0"
- }
- },
- "caniuse-lite": {
- "version": "1.0.30001469",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz",
- "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g=="
- },
- "chalk": {
- "version": "4.1.2",
- "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
- "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
- "requires": {
- "ansi-styles": "^4.1.0",
- "supports-color": "^7.1.0"
- }
- },
- "charenc": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz",
- "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA=="
- },
- "chart.js": {
- "version": "2.9.4",
- "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz",
- "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==",
- "requires": {
- "chartjs-color": "^2.1.0",
- "moment": "^2.10.2"
- }
- },
- "chartjs-color": {
- "version": "2.4.1",
- "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz",
- "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==",
- "requires": {
- "chartjs-color-string": "^0.6.0",
- "color-convert": "^1.9.3"
- },
- "dependencies": {
- "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==",
- "requires": {
- "color-name": "1.1.3"
- }
- },
- "color-name": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
- "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw=="
- }
- }
- },
- "chartjs-color-string": {
- "version": "0.6.0",
- "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz",
- "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==",
- "requires": {
- "color-name": "^1.0.0"
- }
- },
- "chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
- "requires": {
- "anymatch": "~3.1.2",
- "braces": "~3.0.2",
- "fsevents": "~2.3.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"
- }
- },
- "chrome-trace-event": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz",
- "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg=="
- },
- "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==",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "clean-css": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.2.tgz",
- "integrity": "sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==",
- "requires": {
- "source-map": "~0.6.0"
- }
- },
- "clean-stack": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz",
- "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==",
- "dev": true
- },
- "cli-table3": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz",
- "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==",
- "requires": {
- "@colors/colors": "1.5.0",
- "string-width": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "string-width": "^4.2.0",
- "strip-ansi": "^6.0.1",
- "wrap-ansi": "^7.0.0"
- }
- },
- "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==",
- "requires": {
- "is-plain-object": "^2.0.4",
- "kind-of": "^6.0.2",
- "shallow-clone": "^3.0.0"
- }
- },
- "collect.js": {
- "version": "4.34.3",
- "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.34.3.tgz",
- "integrity": "sha512-aFr67xDazPwthsGm729mnClgNuh15JEagU6McKBKqxuHOkWL7vMFzGbhsXDdPZ+H6ia5QKIMGYuGOMENBHnVpg=="
- },
- "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==",
- "requires": {
- "color-name": "~1.1.4"
- }
- },
- "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=="
- },
- "colord": {
- "version": "2.9.3",
- "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.3.tgz",
- "integrity": "sha512-jeC1axXpnb0/2nn/Y1LPuLdgXBLH7aDcHu4KEKfqw3CUhX7ZpfBSlPKyqXE6btIgEzfWtrX3/tyBCaCvXvMkOw=="
- },
- "colorette": {
- "version": "2.0.19",
- "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.19.tgz",
- "integrity": "sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ=="
- },
- "commander": {
- "version": "7.2.0",
- "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz",
- "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw=="
- },
- "commondir": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz",
- "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg=="
- },
- "compressible": {
- "version": "2.0.18",
- "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz",
- "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==",
- "requires": {
- "mime-db": ">= 1.43.0 < 2"
- }
- },
- "compression": {
- "version": "1.7.4",
- "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz",
- "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==",
- "requires": {
- "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"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "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=="
- }
- }
- },
- "concat": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz",
- "integrity": "sha512-f/ZaH1aLe64qHgTILdldbvyfGiGF4uzeo9IuXUloIOLQzFmIPloy9QbZadNsuVv0j5qbKQvQb/H/UYf2UsKTpw==",
- "requires": {
- "commander": "^2.9.0"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "concat-map": {
- "version": "0.0.1",
- "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
- "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
- },
- "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=="
- },
- "consola": {
- "version": "2.15.3",
- "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz",
- "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw=="
- },
- "console-browserify": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz",
- "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA=="
- },
- "consolidate": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz",
- "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==",
- "dev": true,
- "requires": {
- "bluebird": "^3.1.1"
- }
- },
- "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=="
- },
- "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==",
- "requires": {
- "safe-buffer": "5.2.1"
- }
- },
- "content-type": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
- "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA=="
- },
- "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=="
- },
- "cookie": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
- "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
- },
- "cookie-signature": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
- "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ=="
- },
- "core-js": {
- "version": "3.29.1",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.29.1.tgz",
- "integrity": "sha512-+jwgnhg6cQxKYIIjGtAHq2nwUOolo9eoFZ4sHfUH09BLXBgxnH4gA0zEd+t+BO2cNB8idaBtZFcFTRjQJRJmAw=="
- },
- "core-js-compat": {
- "version": "3.29.1",
- "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.29.1.tgz",
- "integrity": "sha512-QmchCua884D8wWskMX8tW5ydINzd8oSJVx38lx/pVkFGqztxt73GYre3pm/hyYq8bPf+MW5In4I/uRShFDsbrA==",
- "requires": {
- "browserslist": "^4.21.5"
- }
- },
- "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=="
- },
- "cosmiconfig": {
- "version": "7.1.0",
- "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz",
- "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==",
- "requires": {
- "@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"
- }
- },
- "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==",
- "requires": {
- "bn.js": "^4.1.0",
- "elliptic": "^6.5.3"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "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==",
- "requires": {
- "cipher-base": "^1.0.1",
- "inherits": "^2.0.1",
- "md5.js": "^1.3.4",
- "ripemd160": "^2.0.1",
- "sha.js": "^2.4.0"
- }
- },
- "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==",
- "requires": {
- "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"
- }
- },
- "cropperjs": {
- "version": "1.5.13",
- "resolved": "https://registry.npmjs.org/cropperjs/-/cropperjs-1.5.13.tgz",
- "integrity": "sha512-by7jKAo73y5/Do0K6sxdTKHgndY0NMjG2bEdgeJxycbcmHuCiMXqw8sxy5C5Y5WTOTcDGmbT7Sr5CgKOXR06OA=="
- },
- "cross-env": {
- "version": "5.2.1",
- "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz",
- "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==",
- "dev": true,
- "requires": {
- "cross-spawn": "^6.0.5"
- }
- },
- "cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
- "dev": true,
- "requires": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
- }
- },
- "crypt": {
- "version": "0.0.2",
- "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz",
- "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow=="
- },
- "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==",
- "requires": {
- "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"
- }
- },
- "css-declaration-sorter": {
- "version": "6.4.0",
- "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.4.0.tgz",
- "integrity": "sha512-jDfsatwWMWN0MODAFuHszfjphEXfNw9JUAhmY4pLu3TyTU+ohUpsbVtbU+1MZn4a47D9kqh03i4eyOm+74+zew==",
- "requires": {}
- },
- "css-loader": {
- "version": "6.7.3",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz",
- "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==",
- "dev": true,
- "peer": true,
- "requires": {
- "icss-utils": "^5.1.0",
- "postcss": "^8.4.19",
- "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.2.0",
- "semver": "^7.3.8"
- },
- "dependencies": {
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
- "peer": true,
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "dev": true,
- "peer": true,
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true,
- "peer": true
- }
- }
- },
- "css-select": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz",
- "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==",
- "requires": {
- "boolbase": "^1.0.0",
- "css-what": "^6.0.1",
- "domhandler": "^4.3.1",
- "domutils": "^2.8.0",
- "nth-check": "^2.0.1"
- },
- "dependencies": {
- "domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "requires": {
- "domelementtype": "^2.2.0"
- }
- }
- }
- },
- "css-tree": {
- "version": "1.1.3",
- "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz",
- "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==",
- "requires": {
- "mdn-data": "2.0.14",
- "source-map": "^0.6.1"
- }
- },
- "css-what": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz",
- "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw=="
- },
- "cssesc": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz",
- "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg=="
- },
- "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==",
- "requires": {
- "cssnano-preset-default": "^5.2.14",
- "lilconfig": "^2.0.3",
- "yaml": "^1.10.2"
- }
- },
- "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==",
- "requires": {
- "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"
- }
- },
- "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==",
- "requires": {}
- },
- "csso": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz",
- "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==",
- "requires": {
- "css-tree": "^1.1.2"
- }
- },
- "csstype": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.1.tgz",
- "integrity": "sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw=="
- },
- "custom-event-polyfill": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/custom-event-polyfill/-/custom-event-polyfill-1.0.7.tgz",
- "integrity": "sha512-TDDkd5DkaZxZFM8p+1I3yAlvM3rSr1wbrOliG4yJiwinMZN8z/iGL7BTlDkrJcYTmgUSb4ywVCc3ZaUtOtC76w=="
- },
- "date-fns": {
- "version": "1.30.1",
- "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-1.30.1.tgz",
- "integrity": "sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw=="
- },
- "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
- },
- "debug": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
- "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
- "requires": {
- "ms": "2.1.2"
- }
- },
- "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==",
- "requires": {
- "execa": "^5.0.0"
- }
- },
- "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=="
- },
- "del": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/del/-/del-5.1.0.tgz",
- "integrity": "sha512-wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==",
- "dev": true,
- "requires": {
- "globby": "^10.0.1",
- "graceful-fs": "^4.2.2",
- "is-glob": "^4.0.1",
- "is-path-cwd": "^2.2.0",
- "is-path-inside": "^3.0.1",
- "p-map": "^3.0.0",
- "rimraf": "^3.0.0",
- "slash": "^3.0.0"
- }
- },
- "depd": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
- "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw=="
- },
- "des.js": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz",
- "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==",
- "requires": {
- "inherits": "^2.0.1",
- "minimalistic-assert": "^1.0.0"
- }
- },
- "desandro-matches-selector": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/desandro-matches-selector/-/desandro-matches-selector-2.0.2.tgz",
- "integrity": "sha512-+1q0nXhdzg1IpIJdMKalUwvvskeKnYyEe3shPRwedNcWtnhEKT3ZxvFjzywHDeGcKViIxTCAoOYQWP1qD7VNyg=="
- },
- "destroy": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
- "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg=="
- },
- "detect-node": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz",
- "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
- },
- "diffie-hellman": {
- "version": "5.0.3",
- "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz",
- "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==",
- "requires": {
- "bn.js": "^4.1.0",
- "miller-rabin": "^4.0.0",
- "randombytes": "^2.0.0"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "dir-glob": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
- "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
- "requires": {
- "path-type": "^4.0.0"
- }
- },
- "dns-equal": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz",
- "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg=="
- },
- "dns-packet": {
- "version": "5.4.0",
- "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.4.0.tgz",
- "integrity": "sha512-EgqGeaBB8hLiHLZtp/IbaDQTL8pZ0+IvwzSHA6d7VyMDM+B9hgddEMa9xjK5oYnw0ci0JQ6g2XCD7/f6cafU6g==",
- "requires": {
- "@leichtgewicht/ip-codec": "^2.0.1"
- }
- },
- "dom-serializer": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz",
- "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^4.2.0",
- "entities": "^2.0.0"
- },
- "dependencies": {
- "domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "requires": {
- "domelementtype": "^2.2.0"
- }
- }
- }
- },
- "dom-walk": {
- "version": "0.1.2",
- "resolved": "https://registry.npmjs.org/dom-walk/-/dom-walk-0.1.2.tgz",
- "integrity": "sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w=="
- },
- "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=="
- },
- "domelementtype": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz",
- "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw=="
- },
- "domhandler": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz",
- "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==",
- "requires": {
- "domelementtype": "^2.0.1"
- }
- },
- "domutils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
- "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
- "requires": {
- "dom-serializer": "^1.0.1",
- "domelementtype": "^2.2.0",
- "domhandler": "^4.2.0"
- },
- "dependencies": {
- "domhandler": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz",
- "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==",
- "requires": {
- "domelementtype": "^2.2.0"
- }
- }
- }
- },
- "dot-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz",
- "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==",
- "requires": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "dotenv": {
- "version": "10.0.0",
- "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz",
- "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q=="
- },
- "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=="
- },
- "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=="
- },
- "electron-to-chromium": {
- "version": "1.4.340",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.340.tgz",
- "integrity": "sha512-zx8hqumOqltKsv/MF50yvdAlPF9S/4PXbyfzJS6ZGhbddGkRegdwImmfSVqCkEziYzrIGZ/TlrzBND4FysfkDg=="
- },
- "elliptic": {
- "version": "6.5.4",
- "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz",
- "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==",
- "requires": {
- "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"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "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=="
- },
- "emojis-list": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz",
- "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q=="
- },
- "encodeurl": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
- "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="
- },
- "enhanced-resolve": {
- "version": "5.12.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz",
- "integrity": "sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==",
- "requires": {
- "graceful-fs": "^4.2.4",
- "tapable": "^2.2.0"
- }
- },
- "entities": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
- "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A=="
- },
- "envinfo": {
- "version": "7.8.1",
- "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz",
- "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw=="
- },
- "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==",
- "requires": {
- "is-arrayish": "^0.2.1"
- }
- },
- "es-module-lexer": {
- "version": "0.9.3",
- "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz",
- "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ=="
- },
- "es6-object-assign": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/es6-object-assign/-/es6-object-assign-1.1.0.tgz",
- "integrity": "sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw=="
- },
- "escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
- },
- "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=="
- },
- "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=="
- },
- "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==",
- "requires": {
- "esrecurse": "^4.3.0",
- "estraverse": "^4.1.1"
- }
- },
- "esrecurse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
- "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
- "requires": {
- "estraverse": "^5.2.0"
- },
- "dependencies": {
- "estraverse": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
- "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA=="
- }
- }
- },
- "estraverse": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
- "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw=="
- },
- "esutils": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
- "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g=="
- },
- "etag": {
- "version": "1.8.1",
- "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
- "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg=="
- },
- "ev-emitter": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz",
- "integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q=="
- },
- "eventemitter3": {
- "version": "4.0.7",
- "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
- "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw=="
- },
- "events": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
- "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
- },
- "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==",
- "requires": {
- "md5.js": "^1.3.4",
- "safe-buffer": "^5.1.1"
- }
- },
- "execa": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
- "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
- "requires": {
- "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"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "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==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "express": {
- "version": "4.18.2",
- "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz",
- "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==",
- "requires": {
- "accepts": "~1.3.8",
- "array-flatten": "1.1.1",
- "body-parser": "1.20.1",
- "content-disposition": "0.5.4",
- "content-type": "~1.0.4",
- "cookie": "0.5.0",
- "cookie-signature": "1.0.6",
- "debug": "2.6.9",
- "depd": "2.0.0",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "etag": "~1.8.1",
- "finalhandler": "1.2.0",
- "fresh": "0.5.2",
- "http-errors": "2.0.0",
- "merge-descriptors": "1.0.1",
- "methods": "~1.1.2",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "path-to-regexp": "0.1.7",
- "proxy-addr": "~2.0.7",
- "qs": "6.11.0",
- "range-parser": "~1.2.1",
- "safe-buffer": "5.2.1",
- "send": "0.18.0",
- "serve-static": "1.15.0",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "type-is": "~1.6.18",
- "utils-merge": "1.0.1",
- "vary": "~1.1.2"
- },
- "dependencies": {
- "array-flatten": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
- "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg=="
- },
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- }
- }
- },
- "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=="
- },
- "fast-glob": {
- "version": "3.2.12",
- "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz",
- "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==",
- "requires": {
- "@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"
- }
- },
- "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=="
- },
- "fastest-levenshtein": {
- "version": "1.0.16",
- "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz",
- "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg=="
- },
- "fastq": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
- "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
- "requires": {
- "reusify": "^1.0.4"
- }
- },
- "faye-websocket": {
- "version": "0.11.4",
- "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz",
- "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==",
- "requires": {
- "websocket-driver": ">=0.5.1"
- }
- },
- "file-loader": {
- "version": "6.2.0",
- "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz",
- "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==",
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "dependencies": {
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "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=="
- },
- "filesize": {
- "version": "3.6.1",
- "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz",
- "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg=="
- },
- "fill-range": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
- "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
- "requires": {
- "to-regex-range": "^5.0.1"
- }
- },
- "finalhandler": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
- "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
- "requires": {
- "debug": "2.6.9",
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "on-finished": "2.4.1",
- "parseurl": "~1.3.3",
- "statuses": "2.0.1",
- "unpipe": "~1.0.0"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- }
- }
- },
- "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==",
- "requires": {
- "commondir": "^1.0.1",
- "make-dir": "^3.0.2",
- "pkg-dir": "^4.1.0"
- }
- },
- "find-up": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
- "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
- "requires": {
- "locate-path": "^5.0.0",
- "path-exists": "^4.0.0"
- }
- },
- "fizzy-ui-utils": {
- "version": "2.0.7",
- "resolved": "https://registry.npmjs.org/fizzy-ui-utils/-/fizzy-ui-utils-2.0.7.tgz",
- "integrity": "sha512-CZXDVXQ1If3/r8s0T+v+qVeMshhfcuq0rqIFgJnrtd+Bu8GmDmqMjntjUePypVtjHXKJ6V4sw9zeyox34n9aCg==",
- "requires": {
- "desandro-matches-selector": "^2.0.0"
- }
- },
- "follow-redirects": {
- "version": "1.15.2",
- "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz",
- "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA=="
- },
- "forwarded": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
- "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
- },
- "fraction.js": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz",
- "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA=="
- },
- "fresh": {
- "version": "0.5.2",
- "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
- "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q=="
- },
- "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==",
- "requires": {
- "graceful-fs": "^4.2.0",
- "jsonfile": "^6.0.1",
- "universalify": "^2.0.0"
- }
- },
- "fs-monkey": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz",
- "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q=="
- },
- "fs.realpath": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
- "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw=="
- },
- "fsevents": {
- "version": "2.3.2",
- "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
- "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
- "optional": true
- },
- "function-bind": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
- "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
- },
- "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=="
- },
- "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=="
- },
- "get-intrinsic": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz",
- "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==",
- "requires": {
- "function-bind": "^1.1.1",
- "has": "^1.0.3",
- "has-symbols": "^1.0.3"
- }
- },
- "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=="
- },
- "glob": {
- "version": "7.2.3",
- "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
- "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
- "requires": {
- "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"
- }
- },
- "glob-parent": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
- "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
- "requires": {
- "is-glob": "^4.0.1"
- }
- },
- "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=="
- },
- "global": {
- "version": "4.4.0",
- "resolved": "https://registry.npmjs.org/global/-/global-4.4.0.tgz",
- "integrity": "sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w==",
- "requires": {
- "min-document": "^2.19.0",
- "process": "^0.11.10"
- }
- },
- "globals": {
- "version": "11.12.0",
- "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
- "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA=="
- },
- "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==",
- "requires": {
- "@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"
- }
- },
- "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=="
- },
- "growly": {
- "version": "1.3.0",
- "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz",
- "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw=="
- },
- "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=="
- },
- "has": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
- "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
- "requires": {
- "function-bind": "^1.1.1"
- }
- },
- "has-flag": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
- "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ=="
- },
- "has-symbols": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz",
- "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
- },
- "hash-base": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz",
- "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==",
- "requires": {
- "inherits": "^2.0.4",
- "readable-stream": "^3.6.0",
- "safe-buffer": "^5.2.0"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "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=="
- },
- "hash.js": {
- "version": "1.1.7",
- "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz",
- "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==",
- "requires": {
- "inherits": "^2.0.3",
- "minimalistic-assert": "^1.0.1"
- }
- },
- "he": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz",
- "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw=="
- },
- "hls.js": {
- "version": "1.3.5",
- "resolved": "https://registry.npmjs.org/hls.js/-/hls.js-1.3.5.tgz",
- "integrity": "sha512-uybAvKS6uDe0MnWNEPnO0krWVr+8m2R0hJ/viql8H3MVK+itq8gGQuIYoFHL3rECkIpNH98Lw8YuuWMKZxp3Ew=="
- },
- "hmac-drbg": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz",
- "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==",
- "requires": {
- "hash.js": "^1.0.3",
- "minimalistic-assert": "^1.0.0",
- "minimalistic-crypto-utils": "^1.0.1"
- }
- },
- "howler": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/howler/-/howler-2.2.3.tgz",
- "integrity": "sha512-QM0FFkw0LRX1PR8pNzJVAY25JhIWvbKMBFM4gqk+QdV+kPXOhleWGCB6AiAF/goGjIHK2e/nIElplvjQwhr0jg=="
- },
- "hpack.js": {
- "version": "2.1.6",
- "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz",
- "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==",
- "requires": {
- "inherits": "^2.0.1",
- "obuf": "^1.0.0",
- "readable-stream": "^2.0.1",
- "wbuf": "^1.1.0"
- }
- },
- "html-entities": {
- "version": "2.3.3",
- "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz",
- "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA=="
- },
- "html-loader": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz",
- "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==",
- "requires": {
- "html-minifier-terser": "^5.1.1",
- "htmlparser2": "^4.1.0",
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "dependencies": {
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "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==",
- "requires": {
- "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"
- },
- "dependencies": {
- "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==",
- "requires": {
- "source-map": "~0.6.0"
- }
- },
- "commander": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz",
- "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA=="
- },
- "terser": {
- "version": "4.8.1",
- "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.1.tgz",
- "integrity": "sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==",
- "requires": {
- "commander": "^2.20.0",
- "source-map": "~0.6.1",
- "source-map-support": "~0.5.12"
- },
- "dependencies": {
- "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=="
- }
- }
- }
- }
- },
- "htmlparser2": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz",
- "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==",
- "requires": {
- "domelementtype": "^2.0.1",
- "domhandler": "^3.0.0",
- "domutils": "^2.0.0",
- "entities": "^2.0.0"
- }
- },
- "http-deceiver": {
- "version": "1.2.7",
- "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz",
- "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw=="
- },
- "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==",
- "requires": {
- "depd": "2.0.0",
- "inherits": "2.0.4",
- "setprototypeof": "1.2.0",
- "statuses": "2.0.1",
- "toidentifier": "1.0.1"
- }
- },
- "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=="
- },
- "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==",
- "requires": {
- "eventemitter3": "^4.0.0",
- "follow-redirects": "^1.0.0",
- "requires-port": "^1.0.0"
- }
- },
- "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==",
- "requires": {
- "@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"
- }
- },
- "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=="
- },
- "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=="
- },
- "iconv-lite": {
- "version": "0.4.24",
- "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
- "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
- "requires": {
- "safer-buffer": ">= 2.1.2 < 3"
- }
- },
- "icss-utils": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
- "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "requires": {}
- },
- "ieee754": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
- "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
- },
- "ignore": {
- "version": "5.2.4",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz",
- "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ=="
- },
- "imagemin": {
- "version": "7.0.1",
- "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz",
- "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==",
- "requires": {
- "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"
- }
- },
- "img-loader": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz",
- "integrity": "sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ==",
- "requires": {
- "loader-utils": "^1.1.0"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "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==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- }
- }
- },
- "immutable": {
- "version": "4.3.0",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz",
- "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==",
- "dev": true
- },
- "import-fresh": {
- "version": "3.3.0",
- "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
- "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
- "requires": {
- "parent-module": "^1.0.0",
- "resolve-from": "^4.0.0"
- }
- },
- "import-local": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
- "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
- "requires": {
- "pkg-dir": "^4.2.0",
- "resolve-cwd": "^3.0.0"
- }
- },
- "indent-string": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz",
- "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==",
- "dev": true
- },
- "infinite-scroll": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/infinite-scroll/-/infinite-scroll-3.0.6.tgz",
- "integrity": "sha512-679gpKlS/XuAnA+spIRNFSel1dsZ44ljKVlkWHVNTtibJR0cUIC3jwZaBQUsaR1TvPFnaQijRlS8Q/lPgx1VAA==",
- "requires": {
- "ev-emitter": "^1.1.0",
- "fizzy-ui-utils": "^2.0.5"
- }
- },
- "inflight": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
- "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
- "requires": {
- "once": "^1.3.0",
- "wrappy": "1"
- }
- },
- "inherits": {
- "version": "2.0.4",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
- "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
- },
- "interpret": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz",
- "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw=="
- },
- "ipaddr.js": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz",
- "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng=="
- },
- "is-arrayish": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
- "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg=="
- },
- "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==",
- "requires": {
- "binary-extensions": "^2.0.0"
- }
- },
- "is-buffer": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz",
- "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w=="
- },
- "is-core-module": {
- "version": "2.11.0",
- "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.11.0.tgz",
- "integrity": "sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==",
- "requires": {
- "has": "^1.0.3"
- }
- },
- "is-docker": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz",
- "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ=="
- },
- "is-extglob": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
- "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
- },
- "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=="
- },
- "is-glob": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
- "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
- "requires": {
- "is-extglob": "^2.1.1"
- }
- },
- "is-number": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
- "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
- },
- "is-path-cwd": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz",
- "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==",
- "dev": true
- },
- "is-path-inside": {
- "version": "3.0.3",
- "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz",
- "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==",
- "dev": true
- },
- "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=="
- },
- "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==",
- "requires": {
- "isobject": "^3.0.1"
- }
- },
- "is-stream": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
- "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg=="
- },
- "is-wsl": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz",
- "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==",
- "requires": {
- "is-docker": "^2.0.0"
- }
- },
- "isarray": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz",
- "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ=="
- },
- "isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
- },
- "isobject": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz",
- "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg=="
- },
- "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==",
- "requires": {
- "@types/node": "*",
- "merge-stream": "^2.0.0",
- "supports-color": "^8.0.0"
- },
- "dependencies": {
- "supports-color": {
- "version": "8.1.1",
- "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
- "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- }
- }
- },
- "jquery": {
- "version": "3.6.4",
- "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.4.tgz",
- "integrity": "sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ=="
- },
- "jquery-scroll-lock": {
- "version": "3.1.3",
- "resolved": "https://registry.npmjs.org/jquery-scroll-lock/-/jquery-scroll-lock-3.1.3.tgz",
- "integrity": "sha512-pGKSihSDBiSmJygjgITiEvHiZuhPE8eKePV31er5xWMq601WyooDm1Dscjzonw0aWEx4PeXXDKl64DVu3HbZqw=="
- },
- "jquery.scrollbar": {
- "version": "0.2.11",
- "resolved": "https://registry.npmjs.org/jquery.scrollbar/-/jquery.scrollbar-0.2.11.tgz",
- "integrity": "sha512-EpnIzDbbCcy4WAmnw4YK0oUOiApzK2UeccU4QCTmKKiaVGNhmroJtTzo2x1JhBcT6FebDDS90TheaHXLkZM/Xg=="
- },
- "js-cookie": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz",
- "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ=="
- },
- "js-tokens": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
- "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ=="
- },
- "jsesc": {
- "version": "2.5.2",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
- "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA=="
- },
- "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=="
- },
- "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=="
- },
- "json5": {
- "version": "2.2.3",
- "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
- "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg=="
- },
- "jsonfile": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
- "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
- "requires": {
- "graceful-fs": "^4.1.6",
- "universalify": "^2.0.0"
- }
- },
- "junk": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz",
- "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ=="
- },
- "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=="
- },
- "klona": {
- "version": "2.0.6",
- "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz",
- "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA=="
- },
- "laravel-echo": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/laravel-echo/-/laravel-echo-1.15.0.tgz",
- "integrity": "sha512-q5YaEw2NFu9xra6sYUfh/FX2YotN5iY1nMeKz90J3W3Vpa+5WjK3/DYeEzkTfBZz8Oq1Dv9vWNE4IUvt7kxYIg==",
- "dev": true
- },
- "laravel-mix": {
- "version": "6.0.49",
- "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.49.tgz",
- "integrity": "sha512-bBMFpFjp26XfijPvY5y9zGKud7VqlyOE0OWUcPo3vTBY5asw8LTjafAbee1dhfLz6PWNqDziz69CP78ELSpfKw==",
- "requires": {
- "@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"
- },
- "dependencies": {
- "css-loader": {
- "version": "5.2.7",
- "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz",
- "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==",
- "requires": {
- "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"
- }
- },
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
- "semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- }
- }
- },
- "laravel-mix-make-file-hash": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/laravel-mix-make-file-hash/-/laravel-mix-make-file-hash-2.2.0.tgz",
- "integrity": "sha512-EC0qgMrQEvWqcy8998UCufWB10cnFikWCAWJXwpAGxzYK63NQrXKPB4bhLzR4QG/pf7dCC02VPncETCJtcLG8Q==",
- "dev": true,
- "requires": {
- "del": "^5.1.0",
- "micromatch": "^4.0.2"
- }
- },
- "launch-editor": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz",
- "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==",
- "requires": {
- "picocolors": "^1.0.0",
- "shell-quote": "^1.7.3"
- }
- },
- "lilconfig": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz",
- "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ=="
- },
- "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=="
- },
- "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=="
- },
- "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==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^2.1.2"
- }
- },
- "loadjs": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/loadjs/-/loadjs-4.2.0.tgz",
- "integrity": "sha512-AgQGZisAlTPbTEzrHPb6q+NYBMD+DP9uvGSIjSUM5uG+0jG15cb8axWpxuOIqrmQjn6scaaH8JwloiP27b2KXA=="
- },
- "locate-path": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
- "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
- "requires": {
- "p-locate": "^4.1.0"
- }
- },
- "lodash": {
- "version": "4.17.21",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
- "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
- },
- "lodash.debounce": {
- "version": "4.0.8",
- "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz",
- "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow=="
- },
- "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=="
- },
- "lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ=="
- },
- "lower-case": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz",
- "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==",
- "requires": {
- "tslib": "^2.0.3"
- }
- },
- "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==",
- "requires": {
- "yallist": "^3.0.2"
- }
- },
- "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==",
- "requires": {
- "semver": "^6.0.0"
- },
- "dependencies": {
- "semver": {
- "version": "6.3.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz",
- "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
- }
- }
- },
- "md5": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz",
- "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==",
- "requires": {
- "charenc": "0.0.2",
- "crypt": "0.0.2",
- "is-buffer": "~1.1.6"
- }
- },
- "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==",
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1",
- "safe-buffer": "^5.1.2"
- }
- },
- "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=="
- },
- "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=="
- },
- "memfs": {
- "version": "3.4.13",
- "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.13.tgz",
- "integrity": "sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==",
- "requires": {
- "fs-monkey": "^1.0.3"
- }
- },
- "merge-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
- "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w=="
- },
- "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,
- "requires": {
- "source-map": "^0.6.1"
- }
- },
- "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=="
- },
- "merge2": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
- "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg=="
- },
- "methods": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
- "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w=="
- },
- "micromatch": {
- "version": "4.0.5",
- "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz",
- "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==",
- "requires": {
- "braces": "^3.0.2",
- "picomatch": "^2.3.1"
- }
- },
- "miller-rabin": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz",
- "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==",
- "requires": {
- "bn.js": "^4.0.0",
- "brorand": "^1.0.1"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "mime": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
- "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg=="
- },
- "mime-db": {
- "version": "1.52.0",
- "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
- "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg=="
- },
- "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==",
- "requires": {
- "mime-db": "1.52.0"
- }
- },
- "mimic-fn": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
- "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg=="
- },
- "min-document": {
- "version": "2.19.0",
- "resolved": "https://registry.npmjs.org/min-document/-/min-document-2.19.0.tgz",
- "integrity": "sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ==",
- "requires": {
- "dom-walk": "^0.1.0"
- }
- },
- "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==",
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0",
- "webpack-sources": "^1.1.0"
- },
- "dependencies": {
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "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=="
- },
- "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=="
- },
- "minimatch": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
- "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
- "requires": {
- "brace-expansion": "^1.1.7"
- }
- },
- "minimist": {
- "version": "1.2.8",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
- "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA=="
- },
- "moment": {
- "version": "2.29.4",
- "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.4.tgz",
- "integrity": "sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w=="
- },
- "ms": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
- "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
- },
- "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==",
- "requires": {
- "dns-packet": "^5.2.2",
- "thunky": "^1.0.2"
- }
- },
- "nanoid": {
- "version": "3.3.4",
- "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz",
- "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw=="
- },
- "negotiator": {
- "version": "0.6.3",
- "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
- "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg=="
- },
- "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=="
- },
- "nice-try": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==",
- "dev": true
- },
- "no-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz",
- "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==",
- "requires": {
- "lower-case": "^2.0.2",
- "tslib": "^2.0.3"
- }
- },
- "node-fetch": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
- "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
- "requires": {
- "whatwg-url": "^5.0.0"
- }
- },
- "node-forge": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz",
- "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA=="
- },
- "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==",
- "requires": {
- "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-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==",
- "requires": {
- "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"
- },
- "dependencies": {
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- }
- }
- },
- "node-releases": {
- "version": "2.0.10",
- "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
- "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w=="
- },
- "normalize-path": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
- "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
- },
- "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=="
- },
- "normalize-url": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz",
- "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="
- },
- "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==",
- "requires": {
- "path-key": "^3.0.0"
- },
- "dependencies": {
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- }
- }
- },
- "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==",
- "requires": {
- "boolbase": "^1.0.0"
- }
- },
- "object-assign": {
- "version": "4.1.1",
- "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
- "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg=="
- },
- "object-inspect": {
- "version": "1.12.3",
- "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz",
- "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g=="
- },
- "obuf": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz",
- "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg=="
- },
- "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==",
- "requires": {
- "ee-first": "1.1.1"
- }
- },
- "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=="
- },
- "once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
- "requires": {
- "wrappy": "1"
- }
- },
- "onetime": {
- "version": "5.1.2",
- "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
- "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
- "requires": {
- "mimic-fn": "^2.1.0"
- }
- },
- "open": {
- "version": "8.4.2",
- "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz",
- "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==",
- "requires": {
- "define-lazy-prop": "^2.0.0",
- "is-docker": "^2.1.1",
- "is-wsl": "^2.2.0"
- }
- },
- "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=="
- },
- "p-limit": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
- "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
- "requires": {
- "p-try": "^2.0.0"
- }
- },
- "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==",
- "requires": {
- "p-limit": "^2.2.0"
- }
- },
- "p-map": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz",
- "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==",
- "dev": true,
- "requires": {
- "aggregate-error": "^3.0.0"
- }
- },
- "p-pipe": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz",
- "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw=="
- },
- "p-retry": {
- "version": "4.6.2",
- "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz",
- "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==",
- "requires": {
- "@types/retry": "0.12.0",
- "retry": "^0.13.1"
- }
- },
- "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=="
- },
- "pako": {
- "version": "1.0.11",
- "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz",
- "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw=="
- },
- "param-case": {
- "version": "3.0.4",
- "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz",
- "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==",
- "requires": {
- "dot-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "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==",
- "requires": {
- "callsites": "^3.0.0"
- }
- },
- "parse-asn1": {
- "version": "5.1.6",
- "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz",
- "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==",
- "requires": {
- "asn1.js": "^5.2.0",
- "browserify-aes": "^1.0.0",
- "evp_bytestokey": "^1.0.0",
- "pbkdf2": "^3.0.3",
- "safe-buffer": "^5.1.1"
- }
- },
- "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==",
- "requires": {
- "@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"
- }
- },
- "parseurl": {
- "version": "1.3.3",
- "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
- "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ=="
- },
- "pascal-case": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz",
- "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==",
- "requires": {
- "no-case": "^3.0.4",
- "tslib": "^2.0.3"
- }
- },
- "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=="
- },
- "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=="
- },
- "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=="
- },
- "path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==",
- "dev": true
- },
- "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=="
- },
- "path-to-regexp": {
- "version": "0.1.7",
- "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
- "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
- },
- "path-type": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
- "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw=="
- },
- "pbkdf2": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz",
- "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==",
- "requires": {
- "create-hash": "^1.1.2",
- "create-hmac": "^1.1.4",
- "ripemd160": "^2.0.1",
- "safe-buffer": "^5.0.1",
- "sha.js": "^2.4.8"
- }
- },
- "picocolors": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
- "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
- },
- "picomatch": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
- "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
- },
- "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==",
- "requires": {
- "find-up": "^4.0.0"
- }
- },
- "plyr": {
- "version": "3.7.8",
- "resolved": "https://registry.npmjs.org/plyr/-/plyr-3.7.8.tgz",
- "integrity": "sha512-yG/EHDobwbB/uP+4Bm6eUpJ93f8xxHjjk2dYcD1Oqpe1EcuQl5tzzw9Oq+uVAzd2lkM11qZfydSiyIpiB8pgdA==",
- "requires": {
- "core-js": "^3.26.1",
- "custom-event-polyfill": "^1.0.7",
- "loadjs": "^4.2.0",
- "rangetouch": "^2.0.1",
- "url-polyfill": "^1.1.12"
- }
- },
- "popper.js": {
- "version": "1.16.1",
- "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz",
- "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ=="
- },
- "portal-vue": {
- "version": "2.1.7",
- "resolved": "https://registry.npmjs.org/portal-vue/-/portal-vue-2.1.7.tgz",
- "integrity": "sha512-+yCno2oB3xA7irTt0EU5Ezw22L2J51uKAacE/6hMPMoO/mx3h4rXFkkBkT4GFsMDv/vEe8TNKC3ujJJ0PTwb6g==",
- "requires": {}
- },
- "postcss": {
- "version": "8.4.21",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.21.tgz",
- "integrity": "sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==",
- "requires": {
- "nanoid": "^3.3.4",
- "picocolors": "^1.0.0",
- "source-map-js": "^1.0.2"
- }
- },
- "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==",
- "requires": {
- "postcss-selector-parser": "^6.0.9",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-colormin": {
- "version": "5.3.1",
- "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.1.tgz",
- "integrity": "sha512-UsWQG0AqTFQmpBegeLLc1+c3jIqBNB0zlDGRWR+dQ3pRKJL1oeMzyqmH3o2PIfn9MBdNrVPWhDbT769LxCTLJQ==",
- "requires": {
- "browserslist": "^4.21.4",
- "caniuse-api": "^3.0.0",
- "colord": "^2.9.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "browserslist": "^4.21.4",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {}
- },
- "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==",
- "requires": {}
- },
- "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==",
- "requires": {}
- },
- "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==",
- "requires": {}
- },
- "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==",
- "requires": {
- "lilconfig": "^2.0.5",
- "yaml": "^1.10.2"
- }
- },
- "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==",
- "requires": {
- "cosmiconfig": "^7.0.0",
- "klona": "^2.0.5",
- "semver": "^7.3.5"
- },
- "dependencies": {
- "lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "requires": {
- "yallist": "^4.0.0"
- }
- },
- "semver": {
- "version": "7.3.8",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
- "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
- "requires": {
- "lru-cache": "^6.0.0"
- }
- },
- "yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
- }
- }
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0",
- "stylehacks": "^5.1.1"
- }
- },
- "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==",
- "requires": {
- "browserslist": "^4.21.4",
- "caniuse-api": "^3.0.0",
- "cssnano-utils": "^3.1.0",
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "colord": "^2.9.1",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "browserslist": "^4.21.4",
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "postcss-modules-extract-imports": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
- "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
- "requires": {}
- },
- "postcss-modules-local-by-default": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz",
- "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==",
- "requires": {
- "icss-utils": "^5.0.0",
- "postcss-selector-parser": "^6.0.2",
- "postcss-value-parser": "^4.1.0"
- }
- },
- "postcss-modules-scope": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz",
- "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==",
- "requires": {
- "postcss-selector-parser": "^6.0.4"
- }
- },
- "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==",
- "requires": {
- "icss-utils": "^5.0.0"
- }
- },
- "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==",
- "requires": {}
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "browserslist": "^4.21.4",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "normalize-url": "^6.0.1",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "cssnano-utils": "^3.1.0",
- "postcss-value-parser": "^4.2.0"
- }
- },
- "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==",
- "requires": {
- "browserslist": "^4.21.4",
- "caniuse-api": "^3.0.0"
- }
- },
- "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==",
- "requires": {
- "postcss-value-parser": "^4.2.0"
- }
- },
- "postcss-selector-parser": {
- "version": "6.0.11",
- "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz",
- "integrity": "sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==",
- "requires": {
- "cssesc": "^3.0.0",
- "util-deprecate": "^1.0.2"
- }
- },
- "postcss-svgo": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz",
- "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==",
- "requires": {
- "postcss-value-parser": "^4.2.0",
- "svgo": "^2.7.0"
- }
- },
- "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==",
- "requires": {
- "postcss-selector-parser": "^6.0.5"
- }
- },
- "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=="
- },
- "prettier": {
- "version": "2.8.7",
- "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.7.tgz",
- "integrity": "sha512-yPngTo3aXUUmyuTjeTUT75txrf+aMh9FiD7q9ZE/i6r0bPb22g4FsE6Y338PQX1bmfy08i9QQCB7/rcUAVntfw==",
- "dev": true,
- "optional": true
- },
- "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=="
- },
- "process": {
- "version": "0.11.10",
- "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
- "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="
- },
- "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=="
- },
- "promise-polyfill": {
- "version": "8.1.0",
- "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-8.1.0.tgz",
- "integrity": "sha512-OzSf6gcCUQ01byV4BgwyUCswlaQQ6gzXc23aLQWhicvfX9kfsUiUhgt3CCQej8jDnl8/PhGF31JdHX2/MzF3WA=="
- },
- "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==",
- "requires": {
- "forwarded": "0.2.0",
- "ipaddr.js": "1.9.1"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "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
- },
- "public-encrypt": {
- "version": "4.0.3",
- "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz",
- "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==",
- "requires": {
- "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"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "punycode": {
- "version": "1.4.1",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz",
- "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ=="
- },
- "pusher-js": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/pusher-js/-/pusher-js-7.6.0.tgz",
- "integrity": "sha512-5CJ7YN5ZdC24E0ETraCU5VYFv0IY5ziXhrS0gS5+9Qrro1E4M1lcZhtr9H1H+6jNSLj1LKKAgcLeE1EH9GxMlw==",
- "dev": true,
- "requires": {
- "@types/express-serve-static-core": "4.17.28",
- "@types/node": "^14.14.31",
- "tweetnacl": "^1.0.3"
- },
- "dependencies": {
- "@types/node": {
- "version": "14.18.40",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.40.tgz",
- "integrity": "sha512-pGteXO/JQX7wPxGR8lyT+doqjMa7XvlVowwrDwLfX92k5SdLkk4cwC7CYSLBxrenw/R5oQwKioVIak7ZgplM3g==",
- "dev": true
- }
- }
- },
- "qs": {
- "version": "6.11.0",
- "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
- "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
- "requires": {
- "side-channel": "^1.0.4"
- }
- },
- "querystring": {
- "version": "0.2.0",
- "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz",
- "integrity": "sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g=="
- },
- "querystring-es3": {
- "version": "0.2.1",
- "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz",
- "integrity": "sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA=="
- },
- "queue-microtask": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
- "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A=="
- },
- "randombytes": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz",
- "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==",
- "requires": {
- "safe-buffer": "^5.1.0"
- }
- },
- "randomfill": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz",
- "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==",
- "requires": {
- "randombytes": "^2.0.5",
- "safe-buffer": "^5.1.0"
- }
- },
- "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=="
- },
- "rangetouch": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/rangetouch/-/rangetouch-2.0.1.tgz",
- "integrity": "sha512-sln+pNSc8NGaHoLzwNBssFSf/rSYkqeBXzX1AtJlkJiUaVSJSbRAWJk+4omsXkN+EJalzkZhWQ3th1m0FpR5xA=="
- },
- "raw-body": {
- "version": "2.5.1",
- "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz",
- "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==",
- "requires": {
- "bytes": "3.1.2",
- "http-errors": "2.0.0",
- "iconv-lite": "0.4.24",
- "unpipe": "1.0.0"
- },
- "dependencies": {
- "bytes": {
- "version": "3.1.2",
- "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
- "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg=="
- }
- }
- },
- "readable-stream": {
- "version": "2.3.8",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz",
- "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==",
- "requires": {
- "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"
- },
- "dependencies": {
- "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=="
- },
- "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==",
- "requires": {
- "safe-buffer": "~5.1.0"
- }
- }
- }
- },
- "readdirp": {
- "version": "3.6.0",
- "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
- "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
- "requires": {
- "picomatch": "^2.2.1"
- }
- },
- "readmore-js": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/readmore-js/-/readmore-js-2.2.1.tgz",
- "integrity": "sha512-hbPP0nQpYYkAywCEZ8ozHivvhWyHic37KJ2IXrHES4qzjp0+nmw8R33MeyMAtXBZfXX4Es8cpd5JBVf9qj47+Q==",
- "requires": {
- "jquery": ">2.1.4"
- }
- },
- "rechoir": {
- "version": "0.7.1",
- "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz",
- "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==",
- "requires": {
- "resolve": "^1.9.0"
- }
- },
- "regenerate": {
- "version": "1.4.2",
- "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz",
- "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A=="
- },
- "regenerate-unicode-properties": {
- "version": "10.1.0",
- "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz",
- "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==",
- "requires": {
- "regenerate": "^1.4.2"
- }
- },
- "regenerator-runtime": {
- "version": "0.13.11",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
- "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
- },
- "regenerator-transform": {
- "version": "0.15.1",
- "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz",
- "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==",
- "requires": {
- "@babel/runtime": "^7.8.4"
- }
- },
- "regex-parser": {
- "version": "2.2.11",
- "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz",
- "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==",
- "dev": true
- },
- "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==",
- "requires": {
- "@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"
- }
- },
- "regjsparser": {
- "version": "0.9.1",
- "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz",
- "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==",
- "requires": {
- "jsesc": "~0.5.0"
- },
- "dependencies": {
- "jsesc": {
- "version": "0.5.0",
- "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
- "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA=="
- }
- }
- },
- "relateurl": {
- "version": "0.2.7",
- "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz",
- "integrity": "sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog=="
- },
- "replace-ext": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz",
- "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw=="
- },
- "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=="
- },
- "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=="
- },
- "requires-port": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
- "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ=="
- },
- "resolve": {
- "version": "1.22.1",
- "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz",
- "integrity": "sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==",
- "requires": {
- "is-core-module": "^2.9.0",
- "path-parse": "^1.0.7",
- "supports-preserve-symlinks-flag": "^1.0.0"
- }
- },
- "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==",
- "requires": {
- "resolve-from": "^5.0.0"
- },
- "dependencies": {
- "resolve-from": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
- "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="
- }
- }
- },
- "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=="
- },
- "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==",
- "dev": true,
- "requires": {
- "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"
- }
- },
- "retry": {
- "version": "0.13.1",
- "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz",
- "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg=="
- },
- "reusify": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
- "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
- },
- "rimraf": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
- "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
- "requires": {
- "glob": "^7.1.3"
- }
- },
- "ripemd160": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz",
- "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==",
- "requires": {
- "hash-base": "^3.0.0",
- "inherits": "^2.0.1"
- }
- },
- "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==",
- "requires": {
- "queue-microtask": "^1.2.2"
- }
- },
- "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=="
- },
- "safer-buffer": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
- "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
- },
- "sass": {
- "version": "1.60.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.60.0.tgz",
- "integrity": "sha512-updbwW6fNb5gGm8qMXzVO7V4sWf7LMXnMly/JEyfbfERbVH46Fn6q02BX7/eHTdKpE7d+oTkMMQpFWNUMfFbgQ==",
- "dev": true,
- "requires": {
- "chokidar": ">=3.0.0 <4.0.0",
- "immutable": "^4.0.0",
- "source-map-js": ">=0.6.2 <2.0.0"
- }
- },
- "sass-loader": {
- "version": "12.6.0",
- "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.6.0.tgz",
- "integrity": "sha512-oLTaH0YCtX4cfnJZxKSLAyglED0naiYfNG1iXfU5w1LNZ+ukoA5DtyDIN5zmKVZwYNJP4KRc5Y3hkWga+7tYfA==",
- "dev": true,
- "requires": {
- "klona": "^2.0.4",
- "neo-async": "^2.6.2"
- }
- },
- "schema-utils": {
- "version": "2.7.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz",
- "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==",
- "requires": {
- "@types/json-schema": "^7.0.5",
- "ajv": "^6.12.4",
- "ajv-keywords": "^3.5.2"
- }
- },
- "select-hose": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz",
- "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg=="
- },
- "selfsigned": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz",
- "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==",
- "requires": {
- "node-forge": "^1"
- }
- },
- "semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "dev": true
- },
- "send": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
- "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
- "requires": {
- "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"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- },
- "dependencies": {
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- }
- }
- },
- "ms": {
- "version": "2.1.3",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
- "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA=="
- }
- }
- },
- "serialize-javascript": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz",
- "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==",
- "requires": {
- "randombytes": "^2.1.0"
- }
- },
- "serve-index": {
- "version": "1.9.1",
- "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz",
- "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==",
- "requires": {
- "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"
- },
- "dependencies": {
- "debug": {
- "version": "2.6.9",
- "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
- "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
- "requires": {
- "ms": "2.0.0"
- }
- },
- "depd": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
- "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ=="
- },
- "http-errors": {
- "version": "1.6.3",
- "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz",
- "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==",
- "requires": {
- "depd": "~1.1.2",
- "inherits": "2.0.3",
- "setprototypeof": "1.1.0",
- "statuses": ">= 1.4.0 < 2"
- }
- },
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
- },
- "ms": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
- "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="
- },
- "setprototypeof": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz",
- "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ=="
- },
- "statuses": {
- "version": "1.5.0",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
- "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA=="
- }
- }
- },
- "serve-static": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
- "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
- "requires": {
- "encodeurl": "~1.0.2",
- "escape-html": "~1.0.3",
- "parseurl": "~1.3.3",
- "send": "0.18.0"
- }
- },
- "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=="
- },
- "setprototypeof": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
- "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
- },
- "sha.js": {
- "version": "2.4.11",
- "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz",
- "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==",
- "requires": {
- "inherits": "^2.0.1",
- "safe-buffer": "^5.0.1"
- }
- },
- "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==",
- "requires": {
- "kind-of": "^6.0.2"
- }
- },
- "shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==",
- "dev": true,
- "requires": {
- "shebang-regex": "^1.0.0"
- }
- },
- "shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==",
- "dev": true
- },
- "shell-quote": {
- "version": "1.8.0",
- "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.0.tgz",
- "integrity": "sha512-QHsz8GgQIGKlRi24yFc6a6lN69Idnx634w49ay6+jA5yFh7a1UY+4Rp6HPx/L/1zcEDPEij8cIsiqR6bQsE5VQ=="
- },
- "shellwords": {
- "version": "0.1.1",
- "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz",
- "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww=="
- },
- "side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
- "requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
- }
- },
- "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=="
- },
- "slash": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
- "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q=="
- },
- "sockjs": {
- "version": "0.3.24",
- "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
- "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==",
- "requires": {
- "faye-websocket": "^0.11.3",
- "uuid": "^8.3.2",
- "websocket-driver": "^0.7.4"
- }
- },
- "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=="
- },
- "source-map": {
- "version": "0.6.1",
- "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
- "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
- },
- "source-map-js": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz",
- "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw=="
- },
- "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==",
- "requires": {
- "buffer-from": "^1.0.0",
- "source-map": "^0.6.0"
- }
- },
- "spdy": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz",
- "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==",
- "requires": {
- "debug": "^4.1.0",
- "handle-thing": "^2.0.0",
- "http-deceiver": "^1.2.7",
- "select-hose": "^2.0.0",
- "spdy-transport": "^3.0.0"
- }
- },
- "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==",
- "requires": {
- "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"
- },
- "dependencies": {
- "readable-stream": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
- "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
- "requires": {
- "inherits": "^2.0.3",
- "string_decoder": "^1.1.1",
- "util-deprecate": "^1.0.1"
- }
- }
- }
- },
- "stable": {
- "version": "0.1.8",
- "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz",
- "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w=="
- },
- "statuses": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
- "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ=="
- },
- "std-env": {
- "version": "3.3.2",
- "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.3.2.tgz",
- "integrity": "sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA=="
- },
- "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==",
- "requires": {
- "inherits": "~2.0.1",
- "readable-stream": "^2.0.2"
- }
- },
- "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==",
- "requires": {
- "builtin-status-codes": "^3.0.0",
- "inherits": "^2.0.1",
- "readable-stream": "^2.3.6",
- "to-arraybuffer": "^1.0.0",
- "xtend": "^4.0.0"
- }
- },
- "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==",
- "requires": {
- "safe-buffer": "~5.2.0"
- }
- },
- "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==",
- "requires": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- }
- },
- "strip-ansi": {
- "version": "6.0.1",
- "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
- "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "requires": {
- "ansi-regex": "^5.0.1"
- }
- },
- "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=="
- },
- "style-loader": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz",
- "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==",
- "requires": {
- "loader-utils": "^2.0.0",
- "schema-utils": "^3.0.0"
- },
- "dependencies": {
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "stylehacks": {
- "version": "5.1.1",
- "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz",
- "integrity": "sha512-sBpcd5Hx7G6seo7b1LkpttvTz7ikD0LlH5RmdcBNb6fFR0Fl7LQwHDFr300q4cwUqi+IYrFGmsIHieMBfnN/Bw==",
- "requires": {
- "browserslist": "^4.21.4",
- "postcss-selector-parser": "^6.0.4"
- }
- },
- "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==",
- "requires": {
- "has-flag": "^4.0.0"
- }
- },
- "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=="
- },
- "svgo": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz",
- "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==",
- "requires": {
- "@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"
- }
- },
- "sweetalert": {
- "version": "2.1.2",
- "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-2.1.2.tgz",
- "integrity": "sha512-iWx7X4anRBNDa/a+AdTmvAzQtkN1+s4j/JJRWlHpYE8Qimkohs8/XnFcWeYHH2lMA8LRCa5tj2d244If3S/hzA==",
- "requires": {
- "es6-object-assign": "^1.1.0",
- "promise-polyfill": "^6.0.2"
- },
- "dependencies": {
- "promise-polyfill": {
- "version": "6.1.0",
- "resolved": "https://registry.npmjs.org/promise-polyfill/-/promise-polyfill-6.1.0.tgz",
- "integrity": "sha512-g0LWaH0gFsxovsU7R5LrrhHhWAWiHRnh1GPrhXnPgYsDkIqjRYUYSZEsej/wtleDrz5xVSIDbeKfidztp2XHFQ=="
- }
- }
- },
- "tapable": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
- "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ=="
- },
- "terser": {
- "version": "5.16.8",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.16.8.tgz",
- "integrity": "sha512-QI5g1E/ef7d+PsDifb+a6nnVgC4F22Bg6T0xrBrz6iloVB4PUkkunp6V8nzoOOZJIzjWVdAGqCdlKlhLq/TbIA==",
- "requires": {
- "@jridgewell/source-map": "^0.3.2",
- "acorn": "^8.5.0",
- "commander": "^2.20.0",
- "source-map-support": "~0.5.20"
- },
- "dependencies": {
- "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=="
- }
- }
- },
- "terser-webpack-plugin": {
- "version": "5.3.7",
- "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz",
- "integrity": "sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==",
- "requires": {
- "@jridgewell/trace-mapping": "^0.3.17",
- "jest-worker": "^27.4.5",
- "schema-utils": "^3.1.1",
- "serialize-javascript": "^6.0.1",
- "terser": "^5.16.5"
- },
- "dependencies": {
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- }
- }
- },
- "thunky": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz",
- "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA=="
- },
- "timers-browserify": {
- "version": "2.0.12",
- "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz",
- "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==",
- "requires": {
- "setimmediate": "^1.0.4"
- }
- },
- "to-arraybuffer": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz",
- "integrity": "sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA=="
- },
- "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=="
- },
- "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==",
- "requires": {
- "is-number": "^7.0.0"
- }
- },
- "toidentifier": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
- "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA=="
- },
- "tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
- },
- "tributejs": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/tributejs/-/tributejs-5.1.3.tgz",
- "integrity": "sha512-B5CXihaVzXw+1UHhNFyAwUTMDk1EfoLP5Tj1VhD9yybZ1I8DZJEv8tZ1l0RJo0t0tk9ZhR8eG5tEsaCvRigmdQ=="
- },
- "tslib": {
- "version": "2.5.0",
- "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz",
- "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg=="
- },
- "tty-browserify": {
- "version": "0.0.0",
- "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz",
- "integrity": "sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw=="
- },
- "tweetnacl": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz",
- "integrity": "sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==",
- "dev": true
- },
- "twitter-text": {
- "version": "2.0.5",
- "resolved": "https://registry.npmjs.org/twitter-text/-/twitter-text-2.0.5.tgz",
- "integrity": "sha512-fjbx5ztUx79ju77vEhdWeeOB5tQ55r6L/EgUK45hnOYB8AkVzq3zKMibSj5SCkFFAmsoVKD8gwYADrZdzbsQCg==",
- "requires": {
- "punycode": "1.4.1"
- }
- },
- "type-is": {
- "version": "1.6.18",
- "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
- "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
- "requires": {
- "media-typer": "0.3.0",
- "mime-types": "~2.1.24"
- }
- },
- "unicode-canonical-property-names-ecmascript": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
- "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ=="
- },
- "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==",
- "requires": {
- "unicode-canonical-property-names-ecmascript": "^2.0.0",
- "unicode-property-aliases-ecmascript": "^2.0.0"
- }
- },
- "unicode-match-property-value-ecmascript": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz",
- "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA=="
- },
- "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=="
- },
- "universalify": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
- "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
- },
- "unpipe": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
- "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ=="
- },
- "update-browserslist-db": {
- "version": "1.0.10",
- "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
- "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
- "requires": {
- "escalade": "^3.1.1",
- "picocolors": "^1.0.0"
- }
- },
- "uri-js": {
- "version": "4.4.1",
- "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
- "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
- "requires": {
- "punycode": "^2.1.0"
- },
- "dependencies": {
- "punycode": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
- "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA=="
- }
- }
- },
- "url": {
- "version": "0.11.0",
- "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz",
- "integrity": "sha512-kbailJa29QrtXnxgq+DdCEGlbTeYM2eJUxsz6vjZavrCYPMIFHMKQmSKYAIuUK2i7hgPm28a8piX5NTUtM/LKQ==",
- "requires": {
- "punycode": "1.3.2",
- "querystring": "0.2.0"
- },
- "dependencies": {
- "punycode": {
- "version": "1.3.2",
- "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz",
- "integrity": "sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw=="
- }
- }
- },
- "url-polyfill": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/url-polyfill/-/url-polyfill-1.1.12.tgz",
- "integrity": "sha512-mYFmBHCapZjtcNHW0MDq9967t+z4Dmg5CJ0KqysK3+ZbyoNOWQHksGCTWwDhxGXllkWlOc10Xfko6v4a3ucM6A=="
- },
- "util": {
- "version": "0.11.1",
- "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz",
- "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==",
- "requires": {
- "inherits": "2.0.3"
- },
- "dependencies": {
- "inherits": {
- "version": "2.0.3",
- "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
- "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw=="
- }
- }
- },
- "util-deprecate": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz",
- "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw=="
- },
- "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=="
- },
- "uuid": {
- "version": "8.3.2",
- "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
- "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg=="
- },
- "vary": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
- "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg=="
- },
- "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=="
- },
- "vue": {
- "version": "2.7.14",
- "resolved": "https://registry.npmjs.org/vue/-/vue-2.7.14.tgz",
- "integrity": "sha512-b2qkFyOM0kwqWFuQmgd4o+uHGU7T+2z3T+WQp8UBjADfEv2n4FEMffzBmCKNP0IGzOEEfYjvtcC62xaSKeQDrQ==",
- "requires": {
- "@vue/compiler-sfc": "2.7.14",
- "csstype": "^3.1.0"
- }
- },
- "vue-blurhash": {
- "version": "0.1.4",
- "resolved": "https://registry.npmjs.org/vue-blurhash/-/vue-blurhash-0.1.4.tgz",
- "integrity": "sha512-B76GgfHXHkdmYgAfI2rZl3BgCMD9OxAgn4Jw2Ro0a8ZoAKa6gqTWUrTo5EGXOftm/EKuMYi1Cc+UcAvV0jnoRw==",
- "requires": {}
- },
- "vue-carousel": {
- "version": "0.18.0",
- "resolved": "https://registry.npmjs.org/vue-carousel/-/vue-carousel-0.18.0.tgz",
- "integrity": "sha512-a2zxh7QJioDxNMguqcuJ7TPbfgK5bGDaAXIia7NWxPAWsEvNE4ZtHgsGu40L5Aha4uyjmNKXvleB14QAXFoKig==",
- "requires": {
- "global": "^4.3.2",
- "regenerator-runtime": "^0.12.1",
- "vue": "^2.5.17"
- },
- "dependencies": {
- "regenerator-runtime": {
- "version": "0.12.1",
- "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz",
- "integrity": "sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg=="
- }
- }
- },
- "vue-content-loader": {
- "version": "0.2.3",
- "resolved": "https://registry.npmjs.org/vue-content-loader/-/vue-content-loader-0.2.3.tgz",
- "integrity": "sha512-gJlNEdXkuHGvgnyY0lBMsrSsOMk+TTog5uNAil5MSLv08f/mE7Apag0VavpxJ6ieb4P5J1iVKEIhHI41HQNq9Q==",
- "requires": {
- "babel-helper-vue-jsx-merge-props": "^2.0.3"
- }
- },
- "vue-cropperjs": {
- "version": "4.2.0",
- "resolved": "https://registry.npmjs.org/vue-cropperjs/-/vue-cropperjs-4.2.0.tgz",
- "integrity": "sha512-dvwCBtjGMiznkNIK2GFd1SQm1x+wmtWg4g4t+NrJSPj/fpHnubXxAUOIvY7lMFeR2lawRLsigCaGZrcXCzuTKA==",
- "requires": {
- "cropperjs": "^1.5.6"
- }
- },
- "vue-functional-data-merge": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/vue-functional-data-merge/-/vue-functional-data-merge-3.1.0.tgz",
- "integrity": "sha512-leT4kdJVQyeZNY1kmnS1xiUlQ9z1B/kdBFCILIjYYQDqZgLqCLa0UhjSSeRX6c3mUe6U5qYeM8LrEqkHJ1B4LA=="
- },
- "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
- },
- "vue-i18n": {
- "version": "8.28.2",
- "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.28.2.tgz",
- "integrity": "sha512-C5GZjs1tYlAqjwymaaCPDjCyGo10ajUphiwA922jKt9n7KPpqR7oM1PCwYzhB/E7+nT3wfdG3oRre5raIT1rKA=="
- },
- "vue-infinite-loading": {
- "version": "2.4.5",
- "resolved": "https://registry.npmjs.org/vue-infinite-loading/-/vue-infinite-loading-2.4.5.tgz",
- "integrity": "sha512-xhq95Mxun060bRnsOoLE2Be6BR7jYwuC89kDe18+GmCLVrRA/dU0jrGb12Xu6NjmKs+iTW0AA6saSEmEW4cR7g==",
- "requires": {}
- },
- "vue-intersect": {
- "version": "1.1.6",
- "resolved": "https://registry.npmjs.org/vue-intersect/-/vue-intersect-1.1.6.tgz",
- "integrity": "sha512-m9K48wkti8K0no0F8QdiShukenLDg80JS246Lf7QWgI0XOHkBkzn921FCwLtb49Jj14KK8itVZw4iOVxPc/PsA==",
- "requires": {}
- },
- "vue-loader": {
- "version": "15.10.1",
- "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.10.1.tgz",
- "integrity": "sha512-SaPHK1A01VrNthlix6h1hq4uJu7S/z0kdLUb6klubo738NeQoLbS6V9/d8Pv19tU0XdQKju3D1HSKuI8wJ5wMA==",
- "dev": true,
- "requires": {
- "@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"
- },
- "dependencies": {
- "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,
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "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,
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- }
- }
- },
- "vue-loading-overlay": {
- "version": "3.4.3",
- "resolved": "https://registry.npmjs.org/vue-loading-overlay/-/vue-loading-overlay-3.4.3.tgz",
- "integrity": "sha512-Q4+RNnI6+szylJ98Abnp9CUDagKphZMt7okznGu1m7tidZX5b9u+a+De6uktWa5WULu/as+IsrWVR8lpmbDDOA==",
- "requires": {}
- },
- "vue-masonry-css": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/vue-masonry-css/-/vue-masonry-css-1.0.3.tgz",
- "integrity": "sha512-viecHQiHVLez7HlYUQsv1wJb2MT/RDSzkDp6m3In41vPrk6OsBmT2qRE8LZqYIA4daIwrnx/Xm8h4fjOpuE3hw==",
- "dev": true
- },
- "vue-router": {
- "version": "3.6.5",
- "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz",
- "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==",
- "dev": true
- },
- "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==",
- "requires": {
- "hash-sum": "^1.0.2",
- "loader-utils": "^1.0.2"
- },
- "dependencies": {
- "json5": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
- "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==",
- "requires": {
- "minimist": "^1.2.0"
- }
- },
- "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==",
- "requires": {
- "big.js": "^5.2.2",
- "emojis-list": "^3.0.0",
- "json5": "^1.0.1"
- }
- }
- }
- },
- "vue-template-compiler": {
- "version": "2.7.14",
- "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz",
- "integrity": "sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ==",
- "dev": true,
- "requires": {
- "de-indent": "^1.0.2",
- "he": "^1.2.0"
- }
- },
- "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==",
- "dev": true
- },
- "vue-timeago": {
- "version": "5.1.3",
- "resolved": "https://registry.npmjs.org/vue-timeago/-/vue-timeago-5.1.3.tgz",
- "integrity": "sha512-lHTRuOXhQzQXa6SC52IlO6UyWBZ5eIyD819QGIep++D61HeCV15h/WZ7M1iEsOWttjztMpg+3wYWHO3i2Ijdzw==",
- "requires": {
- "date-fns": "^1.29.0"
- }
- },
- "vue-tribute": {
- "version": "1.0.7",
- "resolved": "https://registry.npmjs.org/vue-tribute/-/vue-tribute-1.0.7.tgz",
- "integrity": "sha512-RtoDOzeme0/+Q9fsKDpdbRUhBI+BQR16NbAOQIHG8k94Mf2qXxpMGQeXMxZ1s75zgs2HmlQZIZ8eObWIumnmog==",
- "requires": {}
- },
- "vuex": {
- "version": "3.6.2",
- "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz",
- "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==",
- "dev": true,
- "requires": {}
- },
- "vuex-router-sync": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/vuex-router-sync/-/vuex-router-sync-5.0.0.tgz",
- "integrity": "sha512-Mry2sO4kiAG64714X1CFpTA/shUH1DmkZ26DFDtwoM/yyx6OtMrc+MxrU+7vvbNLO9LSpgwkiJ8W+rlmRtsM+w==",
- "dev": true,
- "requires": {}
- },
- "watchpack": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz",
- "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==",
- "requires": {
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.1.2"
- }
- },
- "wbuf": {
- "version": "1.7.3",
- "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz",
- "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==",
- "requires": {
- "minimalistic-assert": "^1.0.0"
- }
- },
- "webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
- },
- "webpack": {
- "version": "5.76.3",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.76.3.tgz",
- "integrity": "sha512-18Qv7uGPU8b2vqGeEEObnfICyw2g39CHlDEK4I7NK13LOur1d0HGmGNKGT58Eluwddpn3oEejwvBPoP4M7/KSA==",
- "requires": {
- "@types/eslint-scope": "^3.7.3",
- "@types/estree": "^0.0.51",
- "@webassemblyjs/ast": "1.11.1",
- "@webassemblyjs/wasm-edit": "1.11.1",
- "@webassemblyjs/wasm-parser": "1.11.1",
- "acorn": "^8.7.1",
- "acorn-import-assertions": "^1.7.6",
- "browserslist": "^4.14.5",
- "chrome-trace-event": "^1.0.2",
- "enhanced-resolve": "^5.10.0",
- "es-module-lexer": "^0.9.0",
- "eslint-scope": "5.1.1",
- "events": "^3.2.0",
- "glob-to-regexp": "^0.4.1",
- "graceful-fs": "^4.2.9",
- "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.1.0",
- "tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.1.3",
- "watchpack": "^2.4.0",
- "webpack-sources": "^3.2.3"
- },
- "dependencies": {
- "schema-utils": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz",
- "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==",
- "requires": {
- "@types/json-schema": "^7.0.8",
- "ajv": "^6.12.5",
- "ajv-keywords": "^3.5.2"
- }
- },
- "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=="
- }
- }
- },
- "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==",
- "requires": {
- "@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"
- },
- "dependencies": {
- "cross-spawn": {
- "version": "7.0.3",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
- "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
- "requires": {
- "path-key": "^3.1.0",
- "shebang-command": "^2.0.0",
- "which": "^2.0.1"
- }
- },
- "path-key": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
- "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q=="
- },
- "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==",
- "requires": {
- "shebang-regex": "^3.0.0"
- }
- },
- "shebang-regex": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
- "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A=="
- },
- "which": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
- "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
- "requires": {
- "isexe": "^2.0.0"
- }
- }
- }
- },
- "webpack-dev-middleware": {
- "version": "5.3.3",
- "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz",
- "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==",
- "requires": {
- "colorette": "^2.0.10",
- "memfs": "^3.4.3",
- "mime-types": "^2.1.31",
- "range-parser": "^1.2.1",
- "schema-utils": "^4.0.0"
- },
- "dependencies": {
- "ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "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==",
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "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=="
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- }
- }
- },
- "webpack-dev-server": {
- "version": "4.13.1",
- "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.1.tgz",
- "integrity": "sha512-5tWg00bnWbYgkN+pd5yISQKDejRBYGEw15RaEEslH+zdbNDxxaZvEAO2WulaSaFKb5n3YG8JXsGaDsut1D0xdA==",
- "requires": {
- "@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.1",
- "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.1",
- "ws": "^8.13.0"
- },
- "dependencies": {
- "ajv": {
- "version": "8.12.0",
- "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
- "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
- "requires": {
- "fast-deep-equal": "^3.1.1",
- "json-schema-traverse": "^1.0.0",
- "require-from-string": "^2.0.2",
- "uri-js": "^4.2.2"
- }
- },
- "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==",
- "requires": {
- "fast-deep-equal": "^3.1.3"
- }
- },
- "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=="
- },
- "schema-utils": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz",
- "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==",
- "requires": {
- "@types/json-schema": "^7.0.9",
- "ajv": "^8.8.0",
- "ajv-formats": "^2.1.1",
- "ajv-keywords": "^5.0.0"
- }
- }
- }
- },
- "webpack-merge": {
- "version": "5.8.0",
- "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz",
- "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==",
- "requires": {
- "clone-deep": "^4.0.1",
- "wildcard": "^2.0.0"
- }
- },
- "webpack-notifier": {
- "version": "1.15.0",
- "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz",
- "integrity": "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==",
- "requires": {
- "node-notifier": "^9.0.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "webpack-sources": {
- "version": "1.4.3",
- "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz",
- "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==",
- "requires": {
- "source-list-map": "^2.0.0",
- "source-map": "~0.6.1"
- }
- },
- "webpackbar": {
- "version": "5.0.2",
- "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz",
- "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==",
- "requires": {
- "chalk": "^4.1.0",
- "consola": "^2.15.3",
- "pretty-time": "^1.1.0",
- "std-env": "^3.0.1"
- }
- },
- "websocket-driver": {
- "version": "0.7.4",
- "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz",
- "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==",
- "requires": {
- "http-parser-js": ">=0.5.1",
- "safe-buffer": ">=5.1.0",
- "websocket-extensions": ">=0.1.1"
- }
- },
- "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=="
- },
- "whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
- "requires": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
- }
- },
- "which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
- "dev": true,
- "requires": {
- "isexe": "^2.0.0"
- }
- },
- "wildcard": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz",
- "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw=="
- },
- "wrap-ansi": {
- "version": "7.0.0",
- "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
- "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
- "requires": {
- "ansi-styles": "^4.0.0",
- "string-width": "^4.1.0",
- "strip-ansi": "^6.0.0"
- }
- },
- "wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
- },
- "ws": {
- "version": "8.13.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz",
- "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==",
- "requires": {}
- },
- "xtend": {
- "version": "4.0.2",
- "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
- "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ=="
- },
- "y18n": {
- "version": "5.0.8",
- "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
- "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA=="
- },
- "yallist": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
- "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
- },
- "yaml": {
- "version": "1.10.2",
- "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz",
- "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg=="
- },
- "yargs": {
- "version": "17.7.1",
- "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.1.tgz",
- "integrity": "sha512-cwiTb08Xuv5fqF4AovYacTFNxk62th7LKJ6BL9IGUpTJrWoU7/7WdQGTP2SjKf1dUNBGzDd28p/Yfs/GI6JrLw==",
- "requires": {
- "cliui": "^8.0.1",
- "escalade": "^3.1.1",
- "get-caller-file": "^2.0.5",
- "require-directory": "^2.1.1",
- "string-width": "^4.2.3",
- "y18n": "^5.0.5",
- "yargs-parser": "^21.1.1"
- }
- },
- "yargs-parser": {
- "version": "21.1.1",
- "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
- "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw=="
- },
- "zuck.js": {
- "version": "1.6.0",
- "resolved": "https://registry.npmjs.org/zuck.js/-/zuck.js-1.6.0.tgz",
- "integrity": "sha512-3qmtPkymsnIC1ekjzqwfSpqrVEMU6KMovQOB+Hj+LuykxtcsQcOfhRJDgyOJvA15NC6PYhiBJQTDO2N1XCCH6Q=="
- }
}
}
diff --git a/package.json b/package.json
index 1a6fa47be..9a188a1d4 100644
--- a/package.json
+++ b/package.json
@@ -36,6 +36,7 @@
"@fancyapps/fancybox": "^3.5.7",
"@trevoreyre/autocomplete-vue": "^2.2.0",
"@web3-storage/parse-link-header": "^3.1.0",
+ "@zip.js/zip.js": "^2.7.14",
"animate.css": "^4.1.0",
"bigpicture": "^2.6.2",
"blurhash": "^1.1.3",
diff --git a/public/css/admin.css b/public/css/admin.css
index 431e8ca31..658de1dbc 100644
Binary files a/public/css/admin.css and b/public/css/admin.css differ
diff --git a/public/css/app.css b/public/css/app.css
index a0176c807..0c96787bd 100644
Binary files a/public/css/app.css and b/public/css/app.css differ
diff --git a/public/css/appdark.css b/public/css/appdark.css
index e8c2fad49..414d666f8 100644
Binary files a/public/css/appdark.css and b/public/css/appdark.css differ
diff --git a/public/css/landing.css b/public/css/landing.css
index f52fd36d9..152a6a78f 100644
Binary files a/public/css/landing.css and b/public/css/landing.css differ
diff --git a/public/css/spa.css b/public/css/spa.css
index 954390148..37cce8287 100644
Binary files a/public/css/spa.css and b/public/css/spa.css differ
diff --git a/public/js/about.bundle.44a18841089fdde3.js b/public/js/about.bundle.44a18841089fdde3.js
deleted file mode 100644
index 72e409f53..000000000
Binary files a/public/js/about.bundle.44a18841089fdde3.js and /dev/null differ
diff --git a/public/js/account-import.js b/public/js/account-import.js
new file mode 100644
index 000000000..dede345a4
Binary files /dev/null and b/public/js/account-import.js differ
diff --git a/public/js/account-import.js.LICENSE.txt b/public/js/account-import.js.LICENSE.txt
new file mode 100644
index 000000000..ae386fb79
--- /dev/null
+++ b/public/js/account-import.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
diff --git a/public/js/admin.js b/public/js/admin.js
index b2efdf1dd..cb489e556 100644
Binary files a/public/js/admin.js and b/public/js/admin.js differ
diff --git a/public/js/changelog.bundle.7f58a5ccc6659eb2.js b/public/js/changelog.bundle.7f58a5ccc6659eb2.js
deleted file mode 100644
index b9ac5ff3c..000000000
Binary files a/public/js/changelog.bundle.7f58a5ccc6659eb2.js and /dev/null differ
diff --git a/public/js/changelog.bundle.c4c82057f9628c72.js b/public/js/changelog.bundle.c4c82057f9628c72.js
new file mode 100644
index 000000000..cf5a53d93
Binary files /dev/null and b/public/js/changelog.bundle.c4c82057f9628c72.js differ
diff --git a/public/js/compose.chunk.6464688bf5b5ef97.js b/public/js/compose.chunk.6464688bf5b5ef97.js
new file mode 100644
index 000000000..5e132d12e
Binary files /dev/null and b/public/js/compose.chunk.6464688bf5b5ef97.js differ
diff --git a/public/js/compose.chunk.c413851da244ae3f.js b/public/js/compose.chunk.c413851da244ae3f.js
deleted file mode 100644
index e955929b5..000000000
Binary files a/public/js/compose.chunk.c413851da244ae3f.js and /dev/null differ
diff --git a/public/js/compose.js b/public/js/compose.js
index 7401cd4b1..9ef2d3e6d 100644
Binary files a/public/js/compose.js and b/public/js/compose.js differ
diff --git a/public/js/contact.bundle.d6c1d467c11796b1.js b/public/js/contact.bundle.d6c1d467c11796b1.js
deleted file mode 100644
index b44b4edbc..000000000
Binary files a/public/js/contact.bundle.d6c1d467c11796b1.js and /dev/null differ
diff --git a/public/js/daci.chunk.3f13ec9fc49e9d2b.js b/public/js/daci.chunk.3f13ec9fc49e9d2b.js
deleted file mode 100644
index 42f453e93..000000000
Binary files a/public/js/daci.chunk.3f13ec9fc49e9d2b.js and /dev/null differ
diff --git a/public/js/daci.chunk.914d307d69fcfcd4.js b/public/js/daci.chunk.914d307d69fcfcd4.js
new file mode 100644
index 000000000..36ceb5372
Binary files /dev/null and b/public/js/daci.chunk.914d307d69fcfcd4.js differ
diff --git a/public/js/discover.chunk.4f1b3ea93df06670.js b/public/js/discover.chunk.4f1b3ea93df06670.js
deleted file mode 100644
index 304f6631b..000000000
Binary files a/public/js/discover.chunk.4f1b3ea93df06670.js and /dev/null differ
diff --git a/public/js/discover.chunk.56d2d8cfbbecc761.js b/public/js/discover.chunk.56d2d8cfbbecc761.js
new file mode 100644
index 000000000..3ea908b07
Binary files /dev/null and b/public/js/discover.chunk.56d2d8cfbbecc761.js differ
diff --git a/public/js/discover~findfriends.chunk.006f0079e9f5a3eb.js b/public/js/discover~findfriends.chunk.006f0079e9f5a3eb.js
new file mode 100644
index 000000000..1817e2611
Binary files /dev/null and b/public/js/discover~findfriends.chunk.006f0079e9f5a3eb.js differ
diff --git a/public/js/discover~findfriends.chunk.1aabfedaab1849ba.js b/public/js/discover~findfriends.chunk.1aabfedaab1849ba.js
deleted file mode 100644
index 6ed8a0034..000000000
Binary files a/public/js/discover~findfriends.chunk.1aabfedaab1849ba.js and /dev/null differ
diff --git a/public/js/discover~hashtag.bundle.54f2ac43c55bf328.js b/public/js/discover~hashtag.bundle.54f2ac43c55bf328.js
new file mode 100644
index 000000000..d70058afb
Binary files /dev/null and b/public/js/discover~hashtag.bundle.54f2ac43c55bf328.js differ
diff --git a/public/js/discover~hashtag.bundle.76807a8ff71bd205.js b/public/js/discover~hashtag.bundle.76807a8ff71bd205.js
deleted file mode 100644
index cd23b2045..000000000
Binary files a/public/js/discover~hashtag.bundle.76807a8ff71bd205.js and /dev/null differ
diff --git a/public/js/discover~memories.chunk.4c0973f4400f25b4.js b/public/js/discover~memories.chunk.4c0973f4400f25b4.js
new file mode 100644
index 000000000..ed1077251
Binary files /dev/null and b/public/js/discover~memories.chunk.4c0973f4400f25b4.js differ
diff --git a/public/js/discover~memories.chunk.70b04c7698c2172b.js b/public/js/discover~memories.chunk.70b04c7698c2172b.js
deleted file mode 100644
index d01487e44..000000000
Binary files a/public/js/discover~memories.chunk.70b04c7698c2172b.js and /dev/null differ
diff --git a/public/js/discover~myhashtags.chunk.089b7465b2359979.js b/public/js/discover~myhashtags.chunk.089b7465b2359979.js
deleted file mode 100644
index 0cc8aeaa4..000000000
Binary files a/public/js/discover~myhashtags.chunk.089b7465b2359979.js and /dev/null differ
diff --git a/public/js/discover~myhashtags.chunk.70e91906f0ce857a.js b/public/js/discover~myhashtags.chunk.70e91906f0ce857a.js
new file mode 100644
index 000000000..bdc28118b
Binary files /dev/null and b/public/js/discover~myhashtags.chunk.70e91906f0ce857a.js differ
diff --git a/public/js/discover~serverfeed.chunk.017fd16f00c55e60.js b/public/js/discover~serverfeed.chunk.017fd16f00c55e60.js
new file mode 100644
index 000000000..29f853c66
Binary files /dev/null and b/public/js/discover~serverfeed.chunk.017fd16f00c55e60.js differ
diff --git a/public/js/discover~serverfeed.chunk.ff59ca12d08bb810.js b/public/js/discover~serverfeed.chunk.ff59ca12d08bb810.js
deleted file mode 100644
index 0e7b1f388..000000000
Binary files a/public/js/discover~serverfeed.chunk.ff59ca12d08bb810.js and /dev/null differ
diff --git a/public/js/discover~settings.chunk.5757ad3940569422.js b/public/js/discover~settings.chunk.5757ad3940569422.js
deleted file mode 100644
index 1e34fb753..000000000
Binary files a/public/js/discover~settings.chunk.5757ad3940569422.js and /dev/null differ
diff --git a/public/js/discover~settings.chunk.72cc15c7b87b662d.js b/public/js/discover~settings.chunk.72cc15c7b87b662d.js
new file mode 100644
index 000000000..a021de414
Binary files /dev/null and b/public/js/discover~settings.chunk.72cc15c7b87b662d.js differ
diff --git a/public/js/dms.chunk.91ab72a8dcd1a8a8.js b/public/js/dms.chunk.91ab72a8dcd1a8a8.js
deleted file mode 100644
index a115ec58f..000000000
Binary files a/public/js/dms.chunk.91ab72a8dcd1a8a8.js and /dev/null differ
diff --git a/public/js/dms.chunk.98e12cf9137ddd87.js b/public/js/dms.chunk.98e12cf9137ddd87.js
new file mode 100644
index 000000000..1902f400e
Binary files /dev/null and b/public/js/dms.chunk.98e12cf9137ddd87.js differ
diff --git a/public/js/dms~message.chunk.1cfdf19c4525eafa.js b/public/js/dms~message.chunk.1cfdf19c4525eafa.js
deleted file mode 100644
index 1a6dae148..000000000
Binary files a/public/js/dms~message.chunk.1cfdf19c4525eafa.js and /dev/null differ
diff --git a/public/js/dms~message.chunk.990c68dfc266b0cf.js b/public/js/dms~message.chunk.990c68dfc266b0cf.js
new file mode 100644
index 000000000..cb0b57355
Binary files /dev/null and b/public/js/dms~message.chunk.990c68dfc266b0cf.js differ
diff --git a/public/js/error404.bundle.5075813f1b00e10d.js b/public/js/error404.bundle.182d0aaa2da9ed23.js
similarity index 100%
rename from public/js/error404.bundle.5075813f1b00e10d.js
rename to public/js/error404.bundle.182d0aaa2da9ed23.js
diff --git a/public/js/help.bundle.7c1195b63e04d568.js b/public/js/help.bundle.7c1195b63e04d568.js
deleted file mode 100644
index b7ebd0a9c..000000000
Binary files a/public/js/help.bundle.7c1195b63e04d568.js and /dev/null differ
diff --git a/public/js/home.chunk.07ca9c4759ba59dd.js b/public/js/home.chunk.07ca9c4759ba59dd.js
deleted file mode 100644
index 3ac47dbc1..000000000
Binary files a/public/js/home.chunk.07ca9c4759ba59dd.js and /dev/null differ
diff --git a/public/js/home.chunk.2d93b527d492e6de.js b/public/js/home.chunk.2d93b527d492e6de.js
new file mode 100644
index 000000000..a1f10eddc
Binary files /dev/null and b/public/js/home.chunk.2d93b527d492e6de.js differ
diff --git a/public/js/home.chunk.2d93b527d492e6de.js.LICENSE.txt b/public/js/home.chunk.2d93b527d492e6de.js.LICENSE.txt
new file mode 100644
index 000000000..ae386fb79
--- /dev/null
+++ b/public/js/home.chunk.2d93b527d492e6de.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
diff --git a/public/js/i18n.bundle.4a5ff18de549ac4e.js b/public/js/i18n.bundle.4a5ff18de549ac4e.js
new file mode 100644
index 000000000..0d714d7e0
Binary files /dev/null and b/public/js/i18n.bundle.4a5ff18de549ac4e.js differ
diff --git a/public/js/i18n.bundle.9b9bf1b64e2aa1c1.js b/public/js/i18n.bundle.9b9bf1b64e2aa1c1.js
deleted file mode 100644
index 864168d1b..000000000
Binary files a/public/js/i18n.bundle.9b9bf1b64e2aa1c1.js and /dev/null differ
diff --git a/public/js/installer.js b/public/js/installer.js
deleted file mode 100644
index 7b77a31f4..000000000
Binary files a/public/js/installer.js and /dev/null differ
diff --git a/public/js/installer.js.LICENSE.txt b/public/js/installer.js.LICENSE.txt
deleted file mode 100644
index ba8e2aeda..000000000
--- a/public/js/installer.js.LICENSE.txt
+++ /dev/null
@@ -1 +0,0 @@
-/*! @source http://purl.eligrey.com/github/canvas-toBlob.js/blob/master/canvas-toBlob.js */
diff --git a/public/js/kb.bundle.f6ebdaac1fd552ca.js b/public/js/kb.bundle.f6ebdaac1fd552ca.js
deleted file mode 100644
index 7291f96c4..000000000
Binary files a/public/js/kb.bundle.f6ebdaac1fd552ca.js and /dev/null differ
diff --git a/public/js/live-player.js b/public/js/live-player.js
deleted file mode 100644
index 2ace6e4eb..000000000
Binary files a/public/js/live-player.js and /dev/null differ
diff --git a/public/js/manifest.js b/public/js/manifest.js
index e851ca911..7380d20eb 100644
Binary files a/public/js/manifest.js and b/public/js/manifest.js differ
diff --git a/public/js/notifications.chunk.1a834e4a7bdbf21a.js b/public/js/notifications.chunk.1a834e4a7bdbf21a.js
deleted file mode 100644
index 78ef17ef1..000000000
Binary files a/public/js/notifications.chunk.1a834e4a7bdbf21a.js and /dev/null differ
diff --git a/public/js/notifications.chunk.bf0c641eb1fd9cde.js b/public/js/notifications.chunk.bf0c641eb1fd9cde.js
new file mode 100644
index 000000000..93ab33779
Binary files /dev/null and b/public/js/notifications.chunk.bf0c641eb1fd9cde.js differ
diff --git a/public/js/post.chunk.881f8b0a9934e053.js b/public/js/post.chunk.881f8b0a9934e053.js
deleted file mode 100644
index 370f1459b..000000000
Binary files a/public/js/post.chunk.881f8b0a9934e053.js and /dev/null differ
diff --git a/public/js/post.chunk.cd535334efc77c34.js b/public/js/post.chunk.cd535334efc77c34.js
new file mode 100644
index 000000000..6479707c6
Binary files /dev/null and b/public/js/post.chunk.cd535334efc77c34.js differ
diff --git a/public/js/post.chunk.cd535334efc77c34.js.LICENSE.txt b/public/js/post.chunk.cd535334efc77c34.js.LICENSE.txt
new file mode 100644
index 000000000..ae386fb79
--- /dev/null
+++ b/public/js/post.chunk.cd535334efc77c34.js.LICENSE.txt
@@ -0,0 +1 @@
+/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
diff --git a/public/js/profile.chunk.0f947cc09af5c8c3.js b/public/js/profile.chunk.0f947cc09af5c8c3.js
deleted file mode 100644
index a2bdf3278..000000000
Binary files a/public/js/profile.chunk.0f947cc09af5c8c3.js and /dev/null differ
diff --git a/public/js/profile.chunk.4049e1eecea398ee.js b/public/js/profile.chunk.4049e1eecea398ee.js
new file mode 100644
index 000000000..2ef3482d3
Binary files /dev/null and b/public/js/profile.chunk.4049e1eecea398ee.js differ
diff --git a/public/js/profile~followers.bundle.fe353e697fb7660b.js b/public/js/profile~followers.bundle.f088062414c3b014.js
similarity index 100%
rename from public/js/profile~followers.bundle.fe353e697fb7660b.js
rename to public/js/profile~followers.bundle.f088062414c3b014.js
diff --git a/public/js/profile~following.bundle.c406db7b14d07d36.js b/public/js/profile~following.bundle.57cbb89efa73e324.js
similarity index 54%
rename from public/js/profile~following.bundle.c406db7b14d07d36.js
rename to public/js/profile~following.bundle.57cbb89efa73e324.js
index c47b3f388..f8b3dba0c 100644
Binary files a/public/js/profile~following.bundle.c406db7b14d07d36.js and b/public/js/profile~following.bundle.57cbb89efa73e324.js differ
diff --git a/public/js/spa.js b/public/js/spa.js
index d9f342348..196debf0f 100644
Binary files a/public/js/spa.js and b/public/js/spa.js differ
diff --git a/public/js/static~privacy.bundle.24c230550b6938b2.js b/public/js/static~privacy.bundle.24c230550b6938b2.js
deleted file mode 100644
index 27c27f4b3..000000000
Binary files a/public/js/static~privacy.bundle.24c230550b6938b2.js and /dev/null differ
diff --git a/public/js/static~tos.bundle.65caad6c0546d8c9.js b/public/js/static~tos.bundle.65caad6c0546d8c9.js
deleted file mode 100644
index a8cebbadf..000000000
Binary files a/public/js/static~tos.bundle.65caad6c0546d8c9.js and /dev/null differ
diff --git a/public/js/vendor.js b/public/js/vendor.js
index 3df191c49..e95bc6e95 100644
Binary files a/public/js/vendor.js and b/public/js/vendor.js differ
diff --git a/public/js/vendor.js.LICENSE.txt b/public/js/vendor.js.LICENSE.txt
index 3fce34c8b..bead335b2 100644
--- a/public/js/vendor.js.LICENSE.txt
+++ b/public/js/vendor.js.LICENSE.txt
@@ -48,14 +48,6 @@
* Released under the MIT license
*/
-/*!
- * Pusher JavaScript Library v7.6.0
- * https://pusher.com/
- *
- * Copyright 2020, Pusher
- * Released under the MIT licence.
- */
-
/*!
* Scroll Lock v3.1.3
* https://github.com/MohammadYounes/jquery-scrollLock
@@ -64,17 +56,6 @@
* Licensed under GPL 3.
*/
-/*!
- * Sizzle CSS Selector Engine v2.3.10
- * https://sizzlejs.com/
- *
- * Copyright JS Foundation and other contributors
- * Released under the MIT license
- * https://js.foundation/
- *
- * Date: 2023-02-14
- */
-
/*!
* Vue.js v2.7.14
* (c) 2014-2022 Evan You
@@ -82,17 +63,14 @@
*/
/*!
- * jQuery JavaScript Library v3.6.4
+ * jQuery JavaScript Library v3.7.0
* https://jquery.com/
*
- * Includes Sizzle.js
- * https://sizzlejs.com/
- *
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license
* https://jquery.org/license
*
- * Date: 2023-03-08T15:28Z
+ * Date: 2023-05-11T18:29Z
*/
/*!
@@ -163,628 +141,8 @@ See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
-/*! ../controller/level-helper */
-
-/*! ../crypt/decrypter */
-
-/*! ../demux/aacdemuxer */
-
-/*! ../demux/chunk-cache */
-
-/*! ../demux/id3 */
-
-/*! ../demux/mp3demuxer */
-
-/*! ../demux/mp4demuxer */
-
-/*! ../demux/transmuxer */
-
-/*! ../demux/transmuxer-interface */
-
-/*! ../demux/transmuxer-worker.ts */
-
-/*! ../demux/tsdemuxer */
-
-/*! ../errors */
-
-/*! ../events */
-
-/*! ../is-supported */
-
-/*! ../loader/date-range */
-
-/*! ../loader/fragment */
-
-/*! ../loader/fragment-loader */
-
-/*! ../loader/level-key */
-
-/*! ../loader/load-stats */
-
-/*! ../remux/mp4-remuxer */
-
-/*! ../remux/passthrough-remuxer */
-
-/*! ../task-loop */
-
-/*! ../types/cmcd */
-
-/*! ../types/demuxer */
-
-/*! ../types/level */
-
-/*! ../types/loader */
-
-/*! ../types/transmuxer */
-
-/*! ../utils/attr-list */
-
-/*! ../utils/binary-search */
-
-/*! ../utils/buffer-helper */
-
-/*! ../utils/cea-608-parser */
-
-/*! ../utils/codecs */
-
-/*! ../utils/discontinuities */
-
-/*! ../utils/ewma */
-
-/*! ../utils/ewma-bandwidth-estimator */
-
-/*! ../utils/hex */
-
-/*! ../utils/imsc1-ttml-parser */
-
-/*! ../utils/keysystem-util */
-
-/*! ../utils/logger */
-
-/*! ../utils/mediakeys-helper */
-
-/*! ../utils/mediasource-helper */
-
-/*! ../utils/mp4-tools */
-
-/*! ../utils/numeric-encoding-utils */
-
-/*! ../utils/output-filter */
-
-/*! ../utils/texttrack-utils */
-
-/*! ../utils/time-ranges */
-
-/*! ../utils/timescale-conversion */
-
-/*! ../utils/typed-array */
-
-/*! ../utils/webvtt-parser */
-
-/*! ./aac-helper */
-
-/*! ./adts */
-
-/*! ./aes-crypto */
-
-/*! ./aes-decryptor */
-
-/*! ./base-audio-demuxer */
-
-/*! ./base-playlist-controller */
-
-/*! ./base-stream-controller */
-
-/*! ./buffer-operation-queue */
-
-/*! ./config */
-
-/*! ./controller/abr-controller */
-
-/*! ./controller/audio-stream-controller */
-
-/*! ./controller/audio-track-controller */
-
-/*! ./controller/buffer-controller */
-
-/*! ./controller/cap-level-controller */
-
-/*! ./controller/cmcd-controller */
-
-/*! ./controller/eme-controller */
-
-/*! ./controller/fps-controller */
-
-/*! ./controller/fragment-tracker */
-
-/*! ./controller/id3-track-controller */
-
-/*! ./controller/latency-controller */
-
-/*! ./controller/level-controller */
-
-/*! ./controller/stream-controller */
-
-/*! ./controller/subtitle-stream-controller */
-
-/*! ./controller/subtitle-track-controller */
-
-/*! ./controller/timeline-controller */
-
-/*! ./date-range */
-
-/*! ./dummy-demuxed-track */
-
-/*! ./errors */
-
-/*! ./events */
-
-/*! ./exp-golomb */
-
-/*! ./fast-aes-key */
-
-/*! ./fragment */
-
-/*! ./fragment-finders */
-
-/*! ./fragment-loader */
-
-/*! ./fragment-tracker */
-
-/*! ./gap-controller */
-
-/*! ./hex */
-
-/*! ./is-supported */
-
-/*! ./level-details */
-
-/*! ./level-helper */
-
-/*! ./level-key */
-
-/*! ./load-stats */
-
-/*! ./loader/key-loader */
-
-/*! ./loader/playlist-loader */
-
-/*! ./logger */
-
-/*! ./m3u8-parser */
-
-/*! ./mp4-generator */
-
-/*! ./mp4-remuxer */
-
-/*! ./mp4-tools */
-
-/*! ./mpegaudio */
-
-/*! ./numeric-encoding-utils */
-
-/*! ./sample-aes */
-
-/*! ./src/polyfills/number */
-
-/*! ./texttrack-utils */
-
-/*! ./timescale-conversion */
-
-/*! ./typed-array */
-
-/*! ./types/level */
-
-/*! ./utils/cues */
-
-/*! ./utils/fetch-loader */
-
-/*! ./utils/logger */
-
-/*! ./utils/mediakeys-helper */
-
-/*! ./utils/mediasource-helper */
-
-/*! ./utils/xhr-loader */
-
-/*! ./vttcue */
-
-/*! ./vttparser */
-
-/*! ./webvtt-parser */
-
-/*! ./webworkify-webpack */
-
-/*! eventemitter3 */
-
/*! https://mths.be/punycode v1.4.1 by @mathias */
-/*! url-toolkit */
-
-/*!********************!*\
- !*** ./src/hls.ts ***!
- \********************/
-
-/*!***********************!*\
- !*** ./src/config.ts ***!
- \***********************/
-
-/*!***********************!*\
- !*** ./src/errors.ts ***!
- \***********************/
-
-/*!***********************!*\
- !*** ./src/events.ts ***!
- \***********************/
-
-/*!**************************!*\
- !*** ./src/demux/id3.ts ***!
- \**************************/
-
-/*!**************************!*\
- !*** ./src/task-loop.ts ***!
- \**************************/
-
-/*!**************************!*\
- !*** ./src/utils/hex.ts ***!
- \**************************/
-
-/*!***************************!*\
- !*** ./src/demux/adts.ts ***!
- \***************************/
-
-/*!***************************!*\
- !*** ./src/types/cmcd.ts ***!
- \***************************/
-
-/*!***************************!*\
- !*** ./src/utils/cues.ts ***!
- \***************************/
-
-/*!***************************!*\
- !*** ./src/utils/ewma.ts ***!
- \***************************/
-
-/*!****************************!*\
- !*** ./src/types/level.ts ***!
- \****************************/
-
-/*!*****************************!*\
- !*** ./src/is-supported.ts ***!
- \*****************************/
-
-/*!*****************************!*\
- !*** ./src/types/loader.ts ***!
- \*****************************/
-
-/*!*****************************!*\
- !*** ./src/utils/codecs.ts ***!
- \*****************************/
-
-/*!*****************************!*\
- !*** ./src/utils/logger.ts ***!
- \*****************************/
-
-/*!*****************************!*\
- !*** ./src/utils/vttcue.ts ***!
- \*****************************/
-
-/*!******************************!*\
- !*** ./src/types/demuxer.ts ***!
- \******************************/
-
-/*!********************************!*\
- !*** ./src/crypt/decrypter.ts ***!
- \********************************/
-
-/*!********************************!*\
- !*** ./src/demux/mpegaudio.ts ***!
- \********************************/
-
-/*!********************************!*\
- !*** ./src/demux/tsdemuxer.ts ***!
- \********************************/
-
-/*!********************************!*\
- !*** ./src/loader/fragment.ts ***!
- \********************************/
-
-/*!********************************!*\
- !*** ./src/utils/attr-list.ts ***!
- \********************************/
-
-/*!********************************!*\
- !*** ./src/utils/mp4-tools.ts ***!
- \********************************/
-
-/*!********************************!*\
- !*** ./src/utils/vttparser.ts ***!
- \********************************/
-
-/*!*********************************!*\
- !*** ./src/crypt/aes-crypto.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/demux/aacdemuxer.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/demux/exp-golomb.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/demux/mp3demuxer.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/demux/mp4demuxer.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/demux/sample-aes.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/demux/transmuxer.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/loader/level-key.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/polyfills/number.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/remux/aac-helper.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/types/transmuxer.ts ***!
- \*********************************/
-
-/*!*********************************!*\
- !*** ./src/utils/xhr-loader.ts ***!
- \*********************************/
-
-/*!**********************************!*\
- !*** ./src/demux/chunk-cache.ts ***!
- \**********************************/
-
-/*!**********************************!*\
- !*** ./src/loader/date-range.ts ***!
- \**********************************/
-
-/*!**********************************!*\
- !*** ./src/loader/key-loader.ts ***!
- \**********************************/
-
-/*!**********************************!*\
- !*** ./src/loader/load-stats.ts ***!
- \**********************************/
-
-/*!**********************************!*\
- !*** ./src/remux/mp4-remuxer.ts ***!
- \**********************************/
-
-/*!**********************************!*\
- !*** ./src/utils/time-ranges.ts ***!
- \**********************************/
-
-/*!**********************************!*\
- !*** ./src/utils/typed-array.ts ***!
- \**********************************/
-
-/*!***********************************!*\
- !*** ./src/crypt/fast-aes-key.ts ***!
- \***********************************/
-
-/*!***********************************!*\
- !*** ./src/loader/m3u8-parser.ts ***!
- \***********************************/
-
-/*!***********************************!*\
- !*** ./src/utils/fetch-loader.ts ***!
- \***********************************/
-
-/*!************************************!*\
- !*** ./src/crypt/aes-decryptor.ts ***!
- \************************************/
-
-/*!************************************!*\
- !*** ./src/remux/mp4-generator.ts ***!
- \************************************/
-
-/*!************************************!*\
- !*** ./src/utils/binary-search.ts ***!
- \************************************/
-
-/*!************************************!*\
- !*** ./src/utils/buffer-helper.ts ***!
- \************************************/
-
-/*!************************************!*\
- !*** ./src/utils/output-filter.ts ***!
- \************************************/
-
-/*!************************************!*\
- !*** ./src/utils/webvtt-parser.ts ***!
- \************************************/
-
-/*!*************************************!*\
- !*** ./src/loader/level-details.ts ***!
- \*************************************/
-
-/*!*************************************!*\
- !*** ./src/utils/cea-608-parser.ts ***!
- \*************************************/
-
-/*!*************************************!*\
- !*** ./src/utils/keysystem-util.ts ***!
- \*************************************/
-
-/*!**************************************!*\
- !*** ./src/utils/discontinuities.ts ***!
- \**************************************/
-
-/*!**************************************!*\
- !*** ./src/utils/texttrack-utils.ts ***!
- \**************************************/
-
-/*!***************************************!*\
- !*** ./src/loader/fragment-loader.ts ***!
- \***************************************/
-
-/*!***************************************!*\
- !*** ./src/loader/playlist-loader.ts ***!
- \***************************************/
-
-/*!***************************************!*\
- !*** ./src/utils/mediakeys-helper.ts ***!
- \***************************************/
-
-/*!****************************************!*\
- !*** ./src/controller/level-helper.ts ***!
- \****************************************/
-
-/*!****************************************!*\
- !*** ./src/demux/transmuxer-worker.ts ***!
- \****************************************/
-
-/*!****************************************!*\
- !*** ./src/utils/imsc1-ttml-parser.ts ***!
- \****************************************/
-
-/*!*****************************************!*\
- !*** ./src/demux/base-audio-demuxer.ts ***!
- \*****************************************/
-
-/*!*****************************************!*\
- !*** ./src/demux/webworkify-webpack.js ***!
- \*****************************************/
-
-/*!*****************************************!*\
- !*** ./src/utils/mediasource-helper.ts ***!
- \*****************************************/
-
-/*!******************************************!*\
- !*** ./src/controller/abr-controller.ts ***!
- \******************************************/
-
-/*!******************************************!*\
- !*** ./src/controller/eme-controller.ts ***!
- \******************************************/
-
-/*!******************************************!*\
- !*** ./src/controller/fps-controller.ts ***!
- \******************************************/
-
-/*!******************************************!*\
- !*** ./src/controller/gap-controller.ts ***!
- \******************************************/
-
-/*!******************************************!*\
- !*** ./src/demux/dummy-demuxed-track.ts ***!
- \******************************************/
-
-/*!******************************************!*\
- !*** ./src/remux/passthrough-remuxer.ts ***!
- \******************************************/
-
-/*!*******************************************!*\
- !*** ./src/controller/cmcd-controller.ts ***!
- \*******************************************/
-
-/*!*******************************************!*\
- !*** ./src/demux/transmuxer-interface.ts ***!
- \*******************************************/
-
-/*!*******************************************!*\
- !*** ./src/utils/timescale-conversion.ts ***!
- \*******************************************/
-
-/*!********************************************!*\
- !*** ./src/controller/fragment-finders.ts ***!
- \********************************************/
-
-/*!********************************************!*\
- !*** ./src/controller/fragment-tracker.ts ***!
- \********************************************/
-
-/*!********************************************!*\
- !*** ./src/controller/level-controller.ts ***!
- \********************************************/
-
-/*!*********************************************!*\
- !*** ./node_modules/eventemitter3/index.js ***!
- \*********************************************/
-
-/*!*********************************************!*\
- !*** ./src/controller/buffer-controller.ts ***!
- \*********************************************/
-
-/*!*********************************************!*\
- !*** ./src/controller/stream-controller.ts ***!
- \*********************************************/
-
-/*!*********************************************!*\
- !*** ./src/utils/numeric-encoding-utils.ts ***!
- \*********************************************/
-
-/*!**********************************************!*\
- !*** ./src/controller/latency-controller.ts ***!
- \**********************************************/
-
-/*!***********************************************!*\
- !*** ./src/controller/timeline-controller.ts ***!
- \***********************************************/
-
-/*!***********************************************!*\
- !*** ./src/utils/ewma-bandwidth-estimator.ts ***!
- \***********************************************/
-
-/*!************************************************!*\
- !*** ./src/controller/cap-level-controller.ts ***!
- \************************************************/
-
-/*!************************************************!*\
- !*** ./src/controller/id3-track-controller.ts ***!
- \************************************************/
-
-/*!**************************************************!*\
- !*** ./src/controller/audio-track-controller.ts ***!
- \**************************************************/
-
-/*!**************************************************!*\
- !*** ./src/controller/base-stream-controller.ts ***!
- \**************************************************/
-
-/*!**************************************************!*\
- !*** ./src/controller/buffer-operation-queue.ts ***!
- \**************************************************/
-
-/*!***************************************************!*\
- !*** ./src/controller/audio-stream-controller.ts ***!
- \***************************************************/
-
-/*!****************************************************!*\
- !*** ./src/controller/base-playlist-controller.ts ***!
- \****************************************************/
-
-/*!*****************************************************!*\
- !*** ./node_modules/url-toolkit/src/url-toolkit.js ***!
- \*****************************************************/
-
-/*!*****************************************************!*\
- !*** ./src/controller/subtitle-track-controller.ts ***!
- \*****************************************************/
-
-/*!******************************************************!*\
- !*** ./src/controller/subtitle-stream-controller.ts ***!
- \******************************************************/
-
/**
* vue-class-component v7.2.3
* (c) 2015-present Evan You
diff --git a/public/mix-manifest.json b/public/mix-manifest.json
index c1d72cb20..7874f175a 100644
Binary files a/public/mix-manifest.json and b/public/mix-manifest.json differ
diff --git a/resources/assets/components/AccountImport.vue b/resources/assets/components/AccountImport.vue
new file mode 100644
index 000000000..b669345db
--- /dev/null
+++ b/resources/assets/components/AccountImport.vue
@@ -0,0 +1,622 @@
+
+
+
+
+
+
+
+
+
+
Import
+
+
+
+ Account Import allows you to import your data from a supported service.
+
+
+
+
+
+
+
Import from Instagram
+
This feature has been disabled by the administrators.
+
You have not been permitted to use this feature, or have reached the maximum limits. For more info, view the Import Help Center page.
+
Upload the JSON export from Instagram in .zip format. For more information click here .
+
+
+
+ Import
+
+
+
+
+
+
Review Imports
+
{{ zipName }}
+
+
+
+
+
+
+
+
+
+
+
+
Processing Imported Posts
+
These are posts that are in the process of being imported.
+
+
+ {{ processingCount }}
+
+
+
+
+
+
+
+
Imported Posts
+
These are posts that have been successfully imported.
+
+
+
+ Review {{ finishedCount }} Posts
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Import from Instagram
+
+
+
+
+ Import
+
+
+
+
+
+
+
Review posts you'd like to import.
+
Tap on posts to include them in your import.
+
+
{{ selectedPostsCounter }} posts selected for import
+
+
Clear all selected
+
Select first 100 posts
+
+
+
+
+
+
+
+
+
+
Posts Imported from Instagram
+
+
+
+
+
+
+
+
+
+
+
+
+
Media #{{idx + 1}}
+
+
+
+
Caption
+
{{ media.title ? media.title : modalData.title }}
+
+
+
+
Timestamp
+
{{ formatDate(media.creation_timestamp) }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/Changelog.vue b/resources/assets/components/Changelog.vue
new file mode 100644
index 000000000..45c0806e0
--- /dev/null
+++ b/resources/assets/components/Changelog.vue
@@ -0,0 +1,128 @@
+
+
+
+
+
+
+
+
+
+
+
+
What's New
+
A log of changes in our new UI (Metro 2.0)
+
+
+
+
+
+
+
March 2022
+
+ Full screen previews on photo albums
+ Filter notifications by type on notifications tab
+ Add "Shared by" link to posts that opens a list of accounts that reblogged the post
+ Fix private profile feed not loading for owner
+
+
+
+
+
Febuary 2022
+
+ New Discover layout with My Hashtags, My Memories, Account Insights, Find Friends and Server Timelines
+ Mobile app drawer menu
+ Add Preferred Profile Layout UI setting
+ Add search bar to mobile breakpoints and adjust avatar size when necessary
+ Improved profile layout on mobile breakpoints
+ Threaded Comments Beta
+ Changed default media preview setting to non-fixed height media
+ Improved Compose Location search, will display popular locations first
+ Added "Comment" button to comment reply form and changed textarea/multiline icon toggle
+ Fixed incorrect avatar in profile post comment drawers
+ Hashtags will now include remote/federated posts on hashtag feeds
+ Moved media license to post header
+ Improved Media Previews - disable to restore original preview aspect ratios
+ Comments + Hovercards - comment usernames now support hovercards
+ Quick Avatar Updates - click the button on your avatar. Supports drag-n-drop and updates without page refresh in most places.
+ Follows You badge on hovercards when applicable
+ Add Hide Counts & Stats setting
+ Fix nsfw videos not displaying sensitive warning
+ Added mod tools button to posts for admin accounts
+
+
+
+
+
January 2022
+
+ Fixed comment deletion
+ New Reaction bar on posts - to disable toggle this option in UI Settings menu
+ Fresher Comments - fixed bug that prevented new comments from appearing and added a Refresh button to do it manually in the event it's needed
+ Added Comment Autoloading setting, enabled by default, it loads the first 3 comments
+ Added Likes feed to your own profile to view posts you liked
+ Fixed custom emoji rendering on sidebar, profiles and hover cards
+ Fixed duplicate notifications on feeds
+ New onboarding home feed with 6 popular accounts to help newcomers find accounts to follow
+ Added pronouns to hovercards
+ Fixed custom emoji rendering on home timeline
+ Added Hovercards to usernames on timelines
+ Improved search bar, now resolves (and imports) remote accounts and posts, including webfinger addresses
+ Added full account usernames to notifications on hover
+ Discover page will default to the Yearly tab if Daily tab is empty
+ Hashtag feed improvements (fix pagination placeholders, use 4x4 grid on larger screens)
+ New report modal for posts & comments
+ Fixed profile feed status interactions
+ Improved profile mobile layout
+
+
+
+
+
Older
+
To view the full list of changes, view the project changelog here .
+
+
+
+
+
+
We know some of our UI changes are controversial. We value your feedback and are working hard to incorporate it. Your patience is greatly appreciated!
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/Compose.vue b/resources/assets/components/Compose.vue
new file mode 100644
index 000000000..5b00c66e6
--- /dev/null
+++ b/resources/assets/components/Compose.vue
@@ -0,0 +1,53 @@
+
+
+
+
+
diff --git a/resources/assets/components/Direct.vue b/resources/assets/components/Direct.vue
new file mode 100644
index 000000000..bd8cf2078
--- /dev/null
+++ b/resources/assets/components/Direct.vue
@@ -0,0 +1,297 @@
+
+
+
+
+
+
+
+
+
+
Direct Messages
+
+
+
+
+
+
+
Your inbox is empty
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Compose
+
+
+
+ {{ $t('directMessages.' + tab) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
New Direct Message
+
+
Select Recipient
+
+
+
Search by username, or webfinger (@dansup@pixelfed.social)
+
+
+
+ Cancel
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/DirectMessage.vue b/resources/assets/components/DirectMessage.vue
new file mode 100644
index 000000000..e91ecdfaf
--- /dev/null
+++ b/resources/assets/components/DirectMessage.vue
@@ -0,0 +1,882 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
DMs Direct messages on Pixelfed are not end-to-end encrypted.
+
+
+ Use caution when sharing sensitive data.
+
+
+
+
+ Close
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/Discover.vue b/resources/assets/components/Discover.vue
new file mode 100644
index 000000000..44f8f9cef
--- /dev/null
+++ b/resources/assets/components/Discover.vue
@@ -0,0 +1,405 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Popular Places
+
Popular Places
+
+
+
+
+
+
+
+
+
New York City
+
+
+
+
+
+
+
Edmonton
+
+
+
+
+
+
+
Paris
+
+
+
+
+
+
+
London
+
+
+
+
+
+
+
Vancouver
+
+
+
+
+
+
+
Toronto
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/Hashtag.vue b/resources/assets/components/Hashtag.vue
new file mode 100644
index 000000000..e2ac77681
--- /dev/null
+++ b/resources/assets/components/Hashtag.vue
@@ -0,0 +1,332 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('hashtags.emptyFeed') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/Home.vue b/resources/assets/components/Home.vue
new file mode 100644
index 000000000..c75ed0a13
--- /dev/null
+++ b/resources/assets/components/Home.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/Language.vue b/resources/assets/components/Language.vue
new file mode 100644
index 000000000..9074a5e76
--- /dev/null
+++ b/resources/assets/components/Language.vue
@@ -0,0 +1,111 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Language
+
+
+ {{ fullName(lang) }}
+ · {{ localeName(lang) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/NotFound.vue b/resources/assets/components/NotFound.vue
new file mode 100644
index 000000000..ce88c76cf
--- /dev/null
+++ b/resources/assets/components/NotFound.vue
@@ -0,0 +1,29 @@
+
+
+
+
404 Page Not Found
+
The page you are trying to view is not available
+
+
+
This can happen for a few reasons:
+
+ The url is invalid or has a typo
+ The page has been flagged for review by our automated abuse detection systems
+ The content may have been deleted
+ You do not have permission to view this content
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/Notifications.vue b/resources/assets/components/Notifications.vue
new file mode 100644
index 000000000..2fb085b4e
--- /dev/null
+++ b/resources/assets/components/Notifications.vue
@@ -0,0 +1,585 @@
+
+
+
+
+
+
+
+
+
+
+
+ Notifications
+
+
+
+
+
+
+
+
+
+ Follow Requests
+
+
+
+
+
+ {{ tabs[tabIndex].name }}
+
+ {{ tabs[tabIndex].description }}
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('notifications.noneFound') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ $t('notifications.noneFound') }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
No recent {{ tabs[tabIndex].name }}!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/Post.vue b/resources/assets/components/Post.vue
index 842b15dd5..1cc57c84e 100644
--- a/resources/assets/components/Post.vue
+++ b/resources/assets/components/Post.vue
@@ -26,7 +26,7 @@
+
+
@@ -119,6 +125,7 @@
import LikesModal from './partials/post/LikeModal.vue';
import SharesModal from './partials/post/ShareModal.vue';
import ReportModal from './partials/modal/ReportPost.vue';
+ import PostEditModal from './partials/post/PostEditModal.vue';
export default {
props: {
@@ -140,7 +147,8 @@
"likes-modal": LikesModal,
"shares-modal": SharesModal,
"rightbar": Rightbar,
- "report-modal": ReportModal
+ "report-modal": ReportModal,
+ "post-edit-modal": PostEditModal
},
data() {
@@ -156,7 +164,8 @@
isReply: false,
reply: {},
showSharesModal: false,
- postStateError: false
+ postStateError: false,
+ forceUpdateIdx: 0
}
},
@@ -405,6 +414,17 @@
break;
}
},
+
+ handleEdit(status) {
+ this.$refs.editModal.show(status);
+ },
+
+ mergeUpdatedPost(post) {
+ this.post = post;
+ this.$nextTick(() => {
+ this.forceUpdateIdx++;
+ });
+ }
}
}
diff --git a/resources/assets/components/Profile.vue b/resources/assets/components/Profile.vue
new file mode 100644
index 000000000..1dc90d0ba
--- /dev/null
+++ b/resources/assets/components/Profile.vue
@@ -0,0 +1,205 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/ProfileFollowers.vue b/resources/assets/components/ProfileFollowers.vue
new file mode 100644
index 000000000..ea5393445
--- /dev/null
+++ b/resources/assets/components/ProfileFollowers.vue
@@ -0,0 +1,127 @@
+
+
+
+
+
diff --git a/resources/assets/components/ProfileFollowing.vue b/resources/assets/components/ProfileFollowing.vue
new file mode 100644
index 000000000..5f980ac77
--- /dev/null
+++ b/resources/assets/components/ProfileFollowing.vue
@@ -0,0 +1,124 @@
+
+
+
+
+
diff --git a/resources/assets/components/admin/AdminAutospam.vue b/resources/assets/components/admin/AdminAutospam.vue
new file mode 100644
index 000000000..37947e0b5
--- /dev/null
+++ b/resources/assets/components/admin/AdminAutospam.vue
@@ -0,0 +1,1106 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Dashboard
+
+
+ About / How to Use Autospam
+
+
+ Train Autospam
+
+
+ Closed Reports
+
+
+ Manage Tokens
+
+
+ Import/Export
+
+
+
+
+
+
+
+
+
+
+
+
+
Autospam Service Operational
+
+
+
+
+
+
Autospam Service Inactive
+
To activate, click here and enable Spam detection
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
About Autospam
+
+
To detect and mitigate spam, we built Autospam, an internal tool that uses NLP and other behavioural metrics to classify potential spam posts.
+
+
+
+
Standard Detection
+
+
Standard or "Classic" detection works by evaluating several "signals" from the post and it's associated account.
+
+
Some of the following "signals" may trigger a positive detection from public posts:
+
+
+ Account is less than 6 months old
+ Account has less than 100 followers
+ Post contains one or more of: https:// http:// hxxps:// hxxp:// www. .com .net .org
+
+
+
If you've marked atleast one positive detection from an account as Not spam , any future posts they create will skip detection.
+
+
+
+
Advanced Detection
+
+
Advanced Detection works by using a statistical method that combines prior knowledge and observed data to estimate an average value. It assigns weights to both the prior knowledge and the observed data, allowing for a more informed and reliable estimation that adapts to new information.
+
+
When you train Spam or Not Spam data, the caption is broken up into words (tokens) and are counted (weights) and then stored in the appropriate category (Spam or Not Spam).
+
+
The training data is then used to classify spam on future posts (captions) by calculating each token and associated weights and comparing it to known categories (Spam or Not Spam).
+
+
+
+
+
+
+
+
+
+
+
+ In order for Autospam to be effective, you need to train it by classifying data as spam or not-spam.
+
+
+
+ We recommend atleast 200 classifications for both spam and not-spam, it is important to train Autospam on both so you get more accurate results.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Use existing posts marked as spam to train Autospam
+
+
+ {{ config.files.spam.exists ? 'Already trained' : 'Train Spam' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Use posts from trusted users to train non-spam posts
+
+
+ {{ config.files.ham.exists ? 'Already trained' : 'Train Non-Spam' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Prev
+
+
+ Next
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Tokens are used to split paragraphs and sentences into smaller units that can be more easily assigned meaning.
+
+
+
+
+
+
+
+
+
+
+
+
+ ID
+ Token
+ Category
+ Weight
+ Created
+ Edit
+
+
+
+
+
+ {{ token.id}}
+
+
+ {{ token.token }}
+
+
+ {{ token.category }}
+
+
+ {{ token.weight }}
+
+ {{ timeAgo(token.created_at) }}
+
+ Edit
+
+
+
+
+
+
+
+
+ Prev
+
+
+ Next
+
+
+
+
+
+
+
+
+
+
+
No custom tokens found!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ You can import and export Spam training data
+
+
+
+ We recommend exercising caution when importing training data from untrusted parties!
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Make sure the file you are importing is a valid training data export!
+
+
Upload Import
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Only share training data with people you trust. It can be used by spammers to bypass detection!
+
+
Download Export
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Reported Post Caption
+
View
+
+
{{ viewingSpamReport.status.content_text }}
+
+
+
+
+
+
+ Select trusted accounts to train non-spam posts against!
+
+
+
+
+
+ {{ result.username }}
+
+
+
+
+
+
+
+
+
+
+ {{ acct.username }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Is Spam
+ Is NOT Spam
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Is Spam
+ Is NOT Spam
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/admin/AdminDirectory.vue b/resources/assets/components/admin/AdminDirectory.vue
new file mode 100644
index 000000000..0676b4057
--- /dev/null
+++ b/resources/assets/components/admin/AdminDirectory.vue
@@ -0,0 +1,1252 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Awaiting Submission
+
Your directory listing isn't completed yet
+
+
Your directory listing is ready for submission!
+
+ Submit my Server to pixelfed.org
+
+
+
+
+
+
+
+
Awaiting Approval
+
Awaiting submission approval from pixelfed.org, please check back later!
+
If you are still waiting for approval after 24 hours please contact the Pixelfed team.
+
+
+
+
+
+
Awaiting Update Approval
+
Awaiting updated submission approval from pixelfed.org, please check back later!
+
If you are still waiting for approval after 24 hours please contact the Pixelfed team.
+
+
+
+
+
+
Active Listing
+
+
+
+
Your server directory listing on pixelfed.org is active
+
+
+ Update my listing on pixelfed.org
+
+
+
+
+
+
+
+
Sending submission...
+
+
+
+
+
+
Oops! An unexpected error occured
+
Ask the Pixelfed team for assistance.
+
+
+
+
+
+
+
+
+
+
+ {{ requirements.open_registration ? 'Open' : 'Closed' }} account registration
+
+
+
+
+
+
+ {{ requirements.oauth_enabled ? 'Enabled' : 'Disabled' }} mobile apis/oauth
+
+
+
+
+
+
+ {{ requirements.activitypub_enabled ? 'Enabled' : 'Disabled' }} activitypub federation
+
+
+
+
+
+
+ {{ form.summary && form.summary.length && form.location && form.location.length ? 'Configured' : 'Missing' }} server details
+
+
+
+
+
+
+ {{ requirements_validator && requirements_validator.length == 0 ? 'Valid' : 'Invalid' }} feature requirements
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ form.contact_account ? 'Configured' : 'Missing' }} admin account
+
+
+
+
+
+
+ {{ form.contact_email ? 'Configured' : 'Missing' }} contact email
+
+
+
+
+
+ {{ selectedPosts && selectedPosts.length ? 'Configured' : 'Missing' }} favourite posts
+
+
+
+
+
+
+ {{ form.privacy_pledge ? 'Configured' : 'Missing' }} privacy pledge
+
+
+
+
+
+
+ {{ communityGuidelines && communityGuidelines.length ? 'Configured' : 'Missing' }} community guidelines
+
+
+
+
+
+
+
+
+
+
Cosby sweater eu banh mi, qui irure terry richardson ex squid. Aliquip placeat salvia cillum iphone. Seitan aliquip quis cardigan american apparel, butcher voluptate nisi qui.
+
+
+
+
Server Details
+
Edit your server details to better describe it
+
+
+
+
+
+
+
Server Banner
+
Add an optional banner image to your directory listing
+
+
+
+
+
+
+
+
+
No banner image
+
+
+
+
+
+
+
+
Choose file
+
Must be 1920 by 1080 pixels
+
Must be a JPEG or PNG image no larger than 5MB.
+
+ Delete banner image
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Admin Contact
+
Set a designated admin account and public email address
+
+
+
+
+
+ Designated Admin
+
+ Select a designated admin
+ {{ acct.username }}
+
+
+
+
No admin(s) found
+
+ Admins must be active
+ Admins must have 2FA setup and enabled
+
+
+
+
+
+
+
+
+
Favourite Posts
+
Show off a few favourite posts from your server
+
+
+
+
+
+
+
+
+
+
+
+
0 posts selected
+
+
You can select up to 12 favourite posts by id or popularity
+
+
+
+
+
+
+
+
+
+
+
+
A post id is the numerical id found in post urls
+
+
+
+
+
+
+
+
+
+
+
+
Privacy Pledge
+
Pledge to keep you and your data private and securely stored
+
+
+
To qualify for the Privacy Pledge, you must abide by the following rules:
+
+ No analytics or 3rd party trackers*
+ User data is not sold to any 3rd parties
+ Data is stored securely in accordance with industry standards
+ Admin accounts are protected with 2FA
+ Follow strict support procedures to keep your accounts safe
+ Give at least 6 months warning in the event we shut down
+
+
You may use 3rd party services like captchas on specific pages, so long as they are clearly defined in your privacy policy
+
+
+
+
+
+ I agree to the uphold the Privacy Pledge
+
+
+
+
+
+
Community Guidelines
+
A few ground rules to keep your community healthy and safe.
+
+
+
+ {{ rule }}
+
+
+
+
+
+
No Community Guidelines have been set
+
+
+
+
+
+
You can manage Community Guidelines on the Settings page
+
+
+
+
Feature Requirements
+
The minimum requirements for Directory inclusion.
+
+
+
+
+
+
+
+
+
+
+
+
Media Types
+
Allowed MIME types. image/jpeg and image/png by default
+
{{ requirements_validator.media_types[0] }}
+
+
+
+
+
+
+
+
+
+
Image Quality
+
Image optimization is enabled, the image quality must be a value between 1-100.
+
{{ requirements_validator.image_quality[0] }}
+
+
+
+
+
+
+
+
+
+
Max Photo Size
+
Max photo upload size in kb. Must be between 15-100 MB.
+
{{ requirements_validator.max_photo_size[0] }}
+
+
+
+
+
+
+
+
+
+
Max Caption Length
+
The max caption length limit. Must be between 500-10000.
+
{{ requirements_validator.max_caption_length[0] }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Max Alt-text length
+
The alt-text length limit. Must be between 1000-5000.
+
{{ requirements_validator.max_altext_length[0] }}
+
+
+
+
+
+
+
+
+
+
Max Account Size
+
The account storage limit. Must be 1GB at minimum.
+
{{ requirements_validator.max_account_size[0] }}
+
+
+
+
+
+
+
+
+
+
Max Album Length
+
Max photos per album post. Must be between 4-20.
+
{{ requirements_validator.max_album_length[0] }}
+
+
+
+
+
+
+
+
+
+
Account Deletion
+
Allow users to delete their own account.
+
{{ requirements_validator.account_deletion[0] }}
+
+
+
+
+
+
+
+
+
User Testimonials
+
Add testimonials from your users.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
You can't add any more testimonials
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/discover/FindFriends.vue b/resources/assets/components/discover/FindFriends.vue
new file mode 100644
index 000000000..2a78ca08f
--- /dev/null
+++ b/resources/assets/components/discover/FindFriends.vue
@@ -0,0 +1,182 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Find Friends
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/discover/Hashtags.vue b/resources/assets/components/discover/Hashtags.vue
new file mode 100644
index 000000000..71a72d9a8
--- /dev/null
+++ b/resources/assets/components/discover/Hashtags.vue
@@ -0,0 +1,384 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/discover/Insights.vue b/resources/assets/components/discover/Insights.vue
new file mode 100644
index 000000000..f22a6f149
--- /dev/null
+++ b/resources/assets/components/discover/Insights.vue
@@ -0,0 +1,190 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Account Insights
+
A brief overview of your account
+
+
+
+
+
+
+
{{ formatCount(profile.statuses_count) }}
+
Posts
+
+
+
+
+
+
+
+
{{ formatCount(profile.followers_count) }}
+
Followers
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/discover/Memories.vue b/resources/assets/components/discover/Memories.vue
new file mode 100644
index 000000000..acff5a642
--- /dev/null
+++ b/resources/assets/components/discover/Memories.vue
@@ -0,0 +1,172 @@
+
+
+
+
+
+
+
+
+
+
+
+
My Memories
+
Posts from this day in previous years
+
+
+
+
+
+
+
+
No memories found :(
+
+
+
+
+
+
My Memories
+
Posts I've liked from this day in previous years
+
+
+
+
+
+
+
+
No memories found :(
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/discover/ServerFeed.vue b/resources/assets/components/discover/ServerFeed.vue
new file mode 100644
index 000000000..d06102b57
--- /dev/null
+++ b/resources/assets/components/discover/ServerFeed.vue
@@ -0,0 +1,149 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Server Timelines
+
Browse timelines of a specific instance
+
+
+
+
+
+
+
+
No posts found :(
+
+
+
Select an instance from the menu
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/discover/Settings.vue b/resources/assets/components/discover/Settings.vue
new file mode 100644
index 000000000..715767882
--- /dev/null
+++ b/resources/assets/components/discover/Settings.vue
@@ -0,0 +1,280 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
Discover Settings
+
+
+
+
+
+
+
+
+
+
+ My Hashtags
+
+
Allow users to browse timelines of hashtags they follow
+
+
+
+
+ My Memories
+
+
Allow users to access Memories, a timeline of posts they made or liked on this day in past years
+
+
+
+
+ Account Insights
+
+
Allow users to access Account Insights, an overview of their account activity
+
+
+
+
+ Find Friends
+
+
Allow users to access Find Friends, a directory of popular accounts
+
+
+
+
+ Server Timelines
+
+
Allow users to access Server Timelines, a timeline of public posts from a specific instance
+
+
+
+
+
+
+
+
+
+ Allow any instance (Not Recommended)
+ Limit by approved domains
+
+
Set the allowed instances to browse
+
+
+
+
+
+
+
+
+
+
+
+
+ Save changes
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/BlurhashCanvas.vue b/resources/assets/components/partials/BlurhashCanvas.vue
new file mode 100644
index 000000000..a52937282
--- /dev/null
+++ b/resources/assets/components/partials/BlurhashCanvas.vue
@@ -0,0 +1,61 @@
+
+
+
+
+
diff --git a/resources/assets/components/partials/StatusPlaceholder.vue b/resources/assets/components/partials/StatusPlaceholder.vue
new file mode 100644
index 000000000..4349d5fdc
--- /dev/null
+++ b/resources/assets/components/partials/StatusPlaceholder.vue
@@ -0,0 +1,19 @@
+
+
+
diff --git a/resources/assets/components/partials/TimelineStatus.vue b/resources/assets/components/partials/TimelineStatus.vue
new file mode 100644
index 000000000..6351d3f51
--- /dev/null
+++ b/resources/assets/components/partials/TimelineStatus.vue
@@ -0,0 +1,468 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/direct/Message.vue b/resources/assets/components/partials/direct/Message.vue
new file mode 100644
index 000000000..7a49ccee0
--- /dev/null
+++ b/resources/assets/components/partials/direct/Message.vue
@@ -0,0 +1,295 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/discover/daily-trending.vue b/resources/assets/components/partials/discover/daily-trending.vue
new file mode 100644
index 000000000..8e6f28a47
--- /dev/null
+++ b/resources/assets/components/partials/discover/daily-trending.vue
@@ -0,0 +1,83 @@
+
+
+
+
+
+
+
Popular and trending posts
+
Daily Trending
+
View more trending posts
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/discover/discover-spotlight.vue b/resources/assets/components/partials/discover/discover-spotlight.vue
new file mode 100644
index 000000000..efd445b82
--- /dev/null
+++ b/resources/assets/components/partials/discover/discover-spotlight.vue
@@ -0,0 +1,97 @@
+
+
+
+
+
+
+
+
+ Spotlight
+
+
+
+ Community curated
+ collection of creators
+
+
+
+
This weeks collection is curated by @dansup
+
+
+
+
@dansup
+
+
View Profile
+
+
+
+
@dansup
+
+
View Profile
+
+
+
+
@dansup
+
+
View Profile
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/discover/grid-card.vue b/resources/assets/components/partials/discover/grid-card.vue
new file mode 100644
index 000000000..b5ba4739e
--- /dev/null
+++ b/resources/assets/components/partials/discover/grid-card.vue
@@ -0,0 +1,162 @@
+
+
+
+
+
+
{{ subtitle }}
+
{{ title }}
+
{{ buttonText }}
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/discover/news-slider.vue b/resources/assets/components/partials/discover/news-slider.vue
new file mode 100644
index 000000000..4f8f6ae29
--- /dev/null
+++ b/resources/assets/components/partials/discover/news-slider.vue
@@ -0,0 +1,54 @@
+
+
+
+
+
+
Introducing
+
Emoji Reactions
+
+ A new way to interact with content, now available!
+
+
Learn more
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/drawer.vue b/resources/assets/components/partials/drawer.vue
new file mode 100644
index 000000000..ba6f1d431
--- /dev/null
+++ b/resources/assets/components/partials/drawer.vue
@@ -0,0 +1,106 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/modal/ReportPost.vue b/resources/assets/components/partials/modal/ReportPost.vue
new file mode 100644
index 000000000..d092e648c
--- /dev/null
+++ b/resources/assets/components/partials/modal/ReportPost.vue
@@ -0,0 +1,187 @@
+
+
+
+
{{ $t('report.report') }}
+
+
{{ $t('menu.confirmReportText') }}
+
+
+
+
+ {{ $t('common.cancel')}}
+ {{ $t('common.proceed') }}
+
+
+
+
+
{{ $t('report.report') }}
+
+
+ {{ $t('report.selectReason') }}
+
+
+
+
+ {{ $t('menu.spam')}}
+ Adult or {{ $t('menu.sensitive')}}
+ {{ $t('menu.abusive')}}
+ {{ $t('menu.underageAccount')}}
+ {{ $t('menu.copyrightInfringement')}}
+ {{ $t('menu.impersonation')}}
+
+ Go back
+
+
+
+
+
+
+
+
{{ $t('report.sendingReport') }} ...
+
+
+
+
+
+
{{ $t('report.reported') }}
+
+
+
+
+
+
+
{{ $t('report.thanksMsg') }}
+
+
{{ $t('report.contactAdminMsg') }}, {{ $t('common.clickHere') }} .
+
+
+
+ {{ $t('common.close') }}
+
+
+
+
+
+
+
+ {{ $t('common.close') }}
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/modal/UpdateAvatar.vue b/resources/assets/components/partials/modal/UpdateAvatar.vue
new file mode 100644
index 000000000..96ca5ece4
--- /dev/null
+++ b/resources/assets/components/partials/modal/UpdateAvatar.vue
@@ -0,0 +1,148 @@
+
+
+
+
+
+
+
+
+
Drag photo here or click here
+
Must be a png or jpg image up to 2MB
+
+
+
+
+
+
+
Current
+
+
+
+
+
New
+
+
+
+
+
+
+
+ Clear
+ Upload
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/navbar.vue b/resources/assets/components/partials/navbar.vue
new file mode 100644
index 000000000..c3c21243e
--- /dev/null
+++ b/resources/assets/components/partials/navbar.vue
@@ -0,0 +1,978 @@
+
+
+
+
+
+
+
+
+
+
+
+
+ Auto
+
+
+ Light mode
+
+
+ Dark mode
+
+
+
+
+
+
+
+
+
+
+
+ Grid
+
+
+ Masonry
+
+
+ Feed
+
+
+
+
+
+
+
+
+
Compact Media Previews
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/placeholders/DirectMessagePlaceholder.vue b/resources/assets/components/partials/placeholders/DirectMessagePlaceholder.vue
new file mode 100644
index 000000000..0cce85aca
--- /dev/null
+++ b/resources/assets/components/partials/placeholders/DirectMessagePlaceholder.vue
@@ -0,0 +1,10 @@
+
+
+
diff --git a/resources/assets/components/partials/placeholders/EmptyTimeline.vue b/resources/assets/components/partials/placeholders/EmptyTimeline.vue
new file mode 100644
index 000000000..5ce09c54d
--- /dev/null
+++ b/resources/assets/components/partials/placeholders/EmptyTimeline.vue
@@ -0,0 +1,6 @@
+
+
+
+
This feed is empty
+
+
diff --git a/resources/assets/components/partials/placeholders/NotificationPlaceholder.vue b/resources/assets/components/partials/placeholders/NotificationPlaceholder.vue
new file mode 100644
index 000000000..19760a8a2
--- /dev/null
+++ b/resources/assets/components/partials/placeholders/NotificationPlaceholder.vue
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/placeholders/TimelineOnboarding.vue b/resources/assets/components/partials/placeholders/TimelineOnboarding.vue
new file mode 100644
index 000000000..d0d61316f
--- /dev/null
+++ b/resources/assets/components/partials/placeholders/TimelineOnboarding.vue
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/CommentDrawer.vue b/resources/assets/components/partials/post/CommentDrawer.vue
new file mode 100644
index 000000000..820a250e2
--- /dev/null
+++ b/resources/assets/components/partials/post/CommentDrawer.vue
@@ -0,0 +1,1066 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/CommentReplies.vue b/resources/assets/components/partials/post/CommentReplies.vue
new file mode 100644
index 000000000..9713dcd80
--- /dev/null
+++ b/resources/assets/components/partials/post/CommentReplies.vue
@@ -0,0 +1,470 @@
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/CommentReplyForm.vue b/resources/assets/components/partials/post/CommentReplyForm.vue
new file mode 100644
index 000000000..2cc783844
--- /dev/null
+++ b/resources/assets/components/partials/post/CommentReplyForm.vue
@@ -0,0 +1,64 @@
+
+
+
+
{{ replyContent ? replyContent.length : 0 }}/{{ config.uploader.max_caption_length }}
+
+
+
+
diff --git a/resources/assets/components/partials/post/ContextMenu.vue b/resources/assets/components/partials/post/ContextMenu.vue
new file mode 100644
index 000000000..655499d33
--- /dev/null
+++ b/resources/assets/components/partials/post/ContextMenu.vue
@@ -0,0 +1,803 @@
+
+
+
+
+
+
+ {{ $t('menu.viewPost') }}
+
+
+
+ {{ $t('menu.viewProfile') }}
+
+
+
+ {{ $t('common.share') }}
+
+
+
+ {{ $t('menu.moderationTools') }}
+
+
+
+ {{ $t('menu.report') }}
+
+
+
+ {{ $t('menu.archive') }}
+
+
+
+ {{ $t('menu.unarchive') }}
+
+
+
+ Edit
+
+
+
+
+ Loading...
+
+
+ {{ $t('common.delete') }}
+
+
+
+
+ {{ $t('common.cancel') }}
+
+
+
+
+
+
+
+
+
+ {{ $t('menu.moderationTools') }}
+
+
+
+ {{ $t('menu.selectOneOption') }}
+
+
+
+
+ {{ $t('menu.unlistFromTimelines') }}
+
+
+
+ {{ $t('menu.removeCW') }}
+
+
+
+ {{ $t('menu.addCW') }}
+
+
+
+ {{ $t('menu.markAsSpammer') }}
+ {{ $t('menu.markAsSpammerText') }}
+
+
+
+ {{ $t('common.cancel') }}
+
+
+
+
+
+
+
+
{{ $t('menu.moderationTools') }}
+
{{ $t('menu.selectOneOption') }}
+
+
Unlist Posts
+
Moderation Log
+
{{ $t('common.cancel') }}
+
+
+
+
+ {{status.reblogged ? 'Unshare' : 'Share'}} {{ $t('menu.toFollowers') }}
+ {{ $t('common.copyLink') }}
+ {{ $t('menu.embed') }}
+ {{ $t('common.cancel') }}
+
+
+
+
+
+
+
+
+
+
{{copiedEmbed ? 'Embed Code Copied!' : 'Copy Embed Code'}}
+
{{ $t('menu.embedConfirmText') }} {{ $t('site.terms') }}
+
+
+
+
+
+
{{ $t('menu.report') }}
+ {{ $t('menu.selectOneOption') }}
+
+
+
{{ $t('menu.spam') }}
+
{{ $t('menu.sensitive') }}
+
{{ $t('menu.abusive') }}
+
{{ $t('common.other') }}
+
+
{{ $t('common.cancel') }}
+
+
+
+
+
+
{{ $t('menu.report') }}
+ {{ $t('menu.selectOneOption') }}
+
+
+
{{ $t('menu.underageAccount') }}
+
{{ $t('menu.copyrightInfringement') }}
+
{{ $t('menu.impersonation') }}
+
{{ $t('menu.scamOrFraud') }}
+
{{ $t('common.cancel') }}
+
+
+
+
+
+
{{ this.confirmModalTitle }}
+
+
+ {{ $t('common.cancel') }}
+ Confirm
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/EditHistoryModal.vue b/resources/assets/components/partials/post/EditHistoryModal.vue
new file mode 100644
index 000000000..f5a536486
--- /dev/null
+++ b/resources/assets/components/partials/post/EditHistoryModal.vue
@@ -0,0 +1,266 @@
+
+
+
+
+
+
+
+
Post History
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ allHistory[0].account.username }}
+
+
+
{{ historyIndex == (allHistory.length - 1) ? 'created' : 'edited' }} {{ formatTime(allHistory[historyIndex].created_at) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ history.account.username }}
+
+
{{ idx == (allHistory.length - 1) ? 'created' : 'edited' }} {{ formatTime(history.created_at) }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/LikeListPlaceholder.vue b/resources/assets/components/partials/post/LikeListPlaceholder.vue
new file mode 100644
index 000000000..9a6ea93e3
--- /dev/null
+++ b/resources/assets/components/partials/post/LikeListPlaceholder.vue
@@ -0,0 +1,15 @@
+
+
+
diff --git a/resources/assets/components/partials/post/MediaContainer.vue b/resources/assets/components/partials/post/MediaContainer.vue
new file mode 100644
index 000000000..f1fcf5231
--- /dev/null
+++ b/resources/assets/components/partials/post/MediaContainer.vue
@@ -0,0 +1,243 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/PostContent.vue b/resources/assets/components/partials/post/PostContent.vue
new file mode 100644
index 000000000..9c43b4b83
--- /dev/null
+++ b/resources/assets/components/partials/post/PostContent.vue
@@ -0,0 +1,222 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ $t('common.sensitiveContent') }}
+
+
+ {{ status.spoiler_text ? status.spoiler_text : $t('common.sensitiveContentWarning') }}
+
+
+ See Post
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Sensitive Content
+
+
+ {{ status.spoiler_text ? status.spoiler_text : 'This post may contain sensitive content.'}}
+
+
+ See Post
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Cannot display post
+
+
+
+
+ {{status.pf_type}}:{{status.id}}
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/PostEditModal.vue b/resources/assets/components/partials/post/PostEditModal.vue
new file mode 100644
index 000000000..54ba0a4bc
--- /dev/null
+++ b/resources/assets/components/partials/post/PostEditModal.vue
@@ -0,0 +1,592 @@
+
+
+
+
+
+
Edit Post
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Caption
+ Media
+
+ Other
+
+
+
+
+ Caption
+
+
+
+
+ Sensitive/NSFW
+
+
+ Contains spoilers, sensitive or nsfw content
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
{{ media.mime }}
+
+
+ {{ media.description && media.description.length ? 'Edit Alt Text' : 'Add Alt Text' }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Location
+
+
+
+
+
+ {{ fields.location.name }}, {{ fields.location.country}}
+
+
+
+
+
+
+
+
+
+
+
+ Cancel
+
+
+
+
+
+
+
+ Save Updates
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/PostHeader.vue b/resources/assets/components/partials/post/PostHeader.vue
new file mode 100644
index 000000000..ddbbf740c
--- /dev/null
+++ b/resources/assets/components/partials/post/PostHeader.vue
@@ -0,0 +1,348 @@
+
+
+
+
+
diff --git a/resources/assets/components/partials/post/ReadMore.vue b/resources/assets/components/partials/post/ReadMore.vue
new file mode 100644
index 000000000..53e6ce272
--- /dev/null
+++ b/resources/assets/components/partials/post/ReadMore.vue
@@ -0,0 +1,99 @@
+
+
+
+
+
diff --git a/resources/assets/components/partials/profile/ProfileHoverCard.vue b/resources/assets/components/partials/profile/ProfileHoverCard.vue
new file mode 100644
index 000000000..edafe3af7
--- /dev/null
+++ b/resources/assets/components/partials/profile/ProfileHoverCard.vue
@@ -0,0 +1,348 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/profile/ProfileSidebar.vue b/resources/assets/components/partials/profile/ProfileSidebar.vue
new file mode 100644
index 000000000..baf1ca97f
--- /dev/null
+++ b/resources/assets/components/partials/profile/ProfileSidebar.vue
@@ -0,0 +1,821 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/rightbar.vue b/resources/assets/components/partials/rightbar.vue
new file mode 100644
index 000000000..e9ab14b45
--- /dev/null
+++ b/resources/assets/components/partials/rightbar.vue
@@ -0,0 +1,100 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/sidebar.vue b/resources/assets/components/partials/sidebar.vue
new file mode 100644
index 000000000..b7b2a061b
--- /dev/null
+++ b/resources/assets/components/partials/sidebar.vue
@@ -0,0 +1,726 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/partials/timeline/Notification.vue b/resources/assets/components/partials/timeline/Notification.vue
new file mode 100644
index 000000000..8f6a011a4
--- /dev/null
+++ b/resources/assets/components/partials/timeline/Notification.vue
@@ -0,0 +1,234 @@
+
+
+
+
+
diff --git a/resources/assets/components/partials/timeline/StoryCarousel.vue b/resources/assets/components/partials/timeline/StoryCarousel.vue
new file mode 100644
index 000000000..a8a4b16f5
--- /dev/null
+++ b/resources/assets/components/partials/timeline/StoryCarousel.vue
@@ -0,0 +1,200 @@
+
+
+
+
+
+
+
diff --git a/resources/assets/components/sections/DiscoverFeed.vue b/resources/assets/components/sections/DiscoverFeed.vue
new file mode 100644
index 000000000..ab62ca33d
--- /dev/null
+++ b/resources/assets/components/sections/DiscoverFeed.vue
@@ -0,0 +1,206 @@
+
+
+
+
+
+
+
+
+
Trending
+
Trending
+
+
+
+ Today
+ This month
+ This year
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/components/sections/Notifications.vue b/resources/assets/components/sections/Notifications.vue
index 276bac037..b2c904184 100644
--- a/resources/assets/components/sections/Notifications.vue
+++ b/resources/assets/components/sections/Notifications.vue
@@ -37,6 +37,15 @@
+
+
+ Your recent post has been unlisted.
+
+
+ Click here for more info.
+
+
{{n.account.local == false ? '@':''}}{{truncate(n.account.username)}} commented on your post .
@@ -217,16 +234,16 @@
return;
}
let data = res.data.filter(n => {
- if(n.type == 'share' && !n.status) {
+ if(n.type == 'share' && (!n.status || !n.account)) {
return false;
}
- if(n.type == 'comment' && !n.status) {
+ if(n.type == 'comment' && (!n.status || !n.account)) {
return false;
}
- if(n.type == 'mention' && !n.status) {
+ if(n.type == 'mention' && (!n.status || !n.account)) {
return false;
}
- if(n.type == 'favourite' && !n.status) {
+ if(n.type == 'favourite' && (!n.status || !n.account)) {
return false;
}
if(n.type == 'follow' && !n.account) {
@@ -284,16 +301,16 @@
return;
}
let data = res.data.filter(n => {
- if(n.type == 'share' && !n.status) {
+ if(n.type == 'share' && (!n.status || !n.account)) {
return false;
}
- if(n.type == 'comment' && !n.status) {
+ if(n.type == 'comment' && (!n.status || !n.account)) {
return false;
}
- if(n.type == 'mention' && !n.status) {
+ if(n.type == 'mention' && (!n.status || !n.account)) {
return false;
}
- if(n.type == 'favourite' && !n.status) {
+ if(n.type == 'favourite' && (!n.status || !n.account)) {
return false;
}
if(n.type == 'follow' && !n.account) {
@@ -383,6 +400,20 @@
}
})
},
+
+ showAutospamInfo(status) {
+ let el = document.createElement('p');
+ el.classList.add('text-left');
+ el.classList.add('mb-0');
+ el.innerHTML = '
We use automated systems to help detect potential abuse and spam. Your recent post was flagged for review.
Don\'t worry! Your post will be reviewed by a human , and they will restore your post if they determine it appropriate.
Once a human approves your post, any posts you create after will not be marked as unlisted. If you delete this post and share more posts before a human can approve any of them, you will need to wait for at least one unlisted post to be reviewed by a human.';
+ let wrapper = document.createElement('div');
+ wrapper.appendChild(el);
+ swal({
+ title: 'Why was my post unlisted?',
+ content: wrapper,
+ icon: 'warning'
+ })
+ }
}
}
diff --git a/resources/assets/components/sections/Timeline.vue b/resources/assets/components/sections/Timeline.vue
new file mode 100644
index 000000000..2f222096a
--- /dev/null
+++ b/resources/assets/components/sections/Timeline.vue
@@ -0,0 +1,582 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Load more
+
+
+
+
+
+
+
+
+
+
+
+
✨
+
You have reached the end of this feed
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/resources/assets/js/account-import.js b/resources/assets/js/account-import.js
new file mode 100644
index 000000000..a68949955
--- /dev/null
+++ b/resources/assets/js/account-import.js
@@ -0,0 +1,4 @@
+Vue.component(
+ 'account-import',
+ require('./../components/AccountImport.vue').default
+);
diff --git a/resources/assets/js/admin.js b/resources/assets/js/admin.js
index e38f3e98c..8d2b82ca1 100644
--- a/resources/assets/js/admin.js
+++ b/resources/assets/js/admin.js
@@ -21,11 +21,21 @@ Array.from(document.querySelectorAll('.pagination .page-link'))
.filter(el => el.textContent === '« Previous' || el.textContent === 'Next »')
.forEach(el => el.textContent = (el.textContent === 'Next »' ? '›' :'‹'));
+Vue.component(
+ 'admin-autospam',
+ require('./../components/admin/AdminAutospam.vue').default
+);
+
Vue.component(
'admin-directory',
require('./../components/admin/AdminDirectory.vue').default
);
+Vue.component(
+ 'admin-reports',
+ require('./../components/admin/AdminReports.vue').default
+);
+
Vue.component(
'instances-component',
require('./../components/admin/AdminInstances.vue').default
diff --git a/resources/assets/js/components.js b/resources/assets/js/components.js
index 2ed522818..4c6437244 100644
--- a/resources/assets/js/components.js
+++ b/resources/assets/js/components.js
@@ -1,4 +1,5 @@
-window.Vue = require('vue');
+import Vue from 'vue';
+window.Vue = Vue;
import BootstrapVue from 'bootstrap-vue'
import InfiniteLoading from 'vue-infinite-loading';
import Loading from 'vue-loading-overlay';
diff --git a/resources/assets/js/components/ComposeModal.vue b/resources/assets/js/components/ComposeModal.vue
index 09cc0831d..578679d32 100644
--- a/resources/assets/js/components/ComposeModal.vue
+++ b/resources/assets/js/components/ComposeModal.vue
@@ -193,7 +193,7 @@
class="list-group-item cursor-pointer"
:class="{
'text-primary': licenseId === item.id,
- 'font-weight-bold': licenseId === item.id
+ 'font-weight-bold': licenseId === item.id
}"
@click="toggleLicense(item)">
{{item.name}}
@@ -1884,13 +1884,9 @@ export default {
+
+
\ No newline at end of file
diff --git a/resources/assets/js/spa.js b/resources/assets/js/spa.js
new file mode 100644
index 000000000..be31b5371
--- /dev/null
+++ b/resources/assets/js/spa.js
@@ -0,0 +1,819 @@
+require('./polyfill');
+import Vue from 'vue';
+window.Vue = Vue;
+import VueRouter from "vue-router";
+import Vuex from "vuex";
+import { sync } from "vuex-router-sync";
+import BootstrapVue from 'bootstrap-vue'
+import InfiniteLoading from 'vue-infinite-loading';
+import Loading from 'vue-loading-overlay';
+import VueTimeago from 'vue-timeago';
+import VueCarousel from 'vue-carousel';
+import VueBlurHash from 'vue-blurhash';
+import VueMasonry from 'vue-masonry-css';
+import VueI18n from 'vue-i18n';
+window.pftxt = require('twitter-text');
+import 'vue-blurhash/dist/vue-blurhash.css'
+window.filesize = require('filesize');
+import swal from 'sweetalert';
+window._ = require('lodash');
+window.Popper = require('popper.js').default;
+window.pixelfed = window.pixelfed || {};
+window.$ = window.jQuery = require('jquery');
+require('bootstrap');
+window.axios = require('axios');
+window.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
+require('readmore-js');
+window.blurhash = require("blurhash");
+
+$('[data-toggle="tooltip"]').tooltip()
+let token = document.head.querySelector('meta[name="csrf-token"]');
+if (token) {
+ window.axios.defaults.headers.common['X-CSRF-TOKEN'] = token.content;
+} else {
+ console.error('CSRF token not found.');
+}
+
+Vue.use(VueRouter);
+Vue.use(Vuex);
+Vue.use(VueBlurHash);
+Vue.use(VueCarousel);
+Vue.use(BootstrapVue);
+Vue.use(InfiniteLoading);
+Vue.use(Loading);
+Vue.use(VueMasonry);
+Vue.use(VueI18n);
+Vue.use(VueTimeago, {
+ name: 'Timeago',
+ locale: 'en'
+});
+
+Vue.component(
+ 'navbar',
+ require('./../components/partials/navbar.vue').default
+);
+
+Vue.component(
+ 'notification-card',
+ require('./components/NotificationCard.vue').default
+);
+
+Vue.component(
+ 'photo-presenter',
+ require('./components/presenter/PhotoPresenter.vue').default
+);
+
+Vue.component(
+ 'video-presenter',
+ require('./components/presenter/VideoPresenter.vue').default
+);
+
+Vue.component(
+ 'photo-album-presenter',
+ require('./components/presenter/PhotoAlbumPresenter.vue').default
+);
+
+Vue.component(
+ 'video-album-presenter',
+ require('./components/presenter/VideoAlbumPresenter.vue').default
+);
+
+Vue.component(
+ 'mixed-album-presenter',
+ require('./components/presenter/MixedAlbumPresenter.vue').default
+);
+
+Vue.component(
+ 'post-menu',
+ require('./components/PostMenu.vue').default
+);
+
+// Vue.component(
+// 'announcements-card',
+// require('./components/AnnouncementsCard.vue').default
+// );
+
+Vue.component(
+ 'story-component',
+ require('./components/StoryTimelineComponent.vue').default
+);
+
+const HomeComponent = () => import(/* webpackChunkName: "home.chunk" */ "./../components/Home.vue");
+const ComposeComponent = () => import(/* webpackChunkName: "compose.chunk" */ "./../components/Compose.vue");
+const PostComponent = () => import(/* webpackChunkName: "post.chunk" */ "./../components/Post.vue");
+const ProfileComponent = () => import(/* webpackChunkName: "profile.chunk" */ "./../components/Profile.vue");
+const MemoriesComponent = () => import(/* webpackChunkName: "discover~memories.chunk" */ "./../components/discover/Memories.vue");
+const MyHashtagComponent = () => import(/* webpackChunkName: "discover~myhashtags.chunk" */ "./../components/discover/Hashtags.vue");
+const AccountInsightsComponent = () => import(/* webpackChunkName: "daci.chunk" */ "./../components/discover/Insights.vue");
+const DiscoverFindFriendsComponent = () => import(/* webpackChunkName: "discover~findfriends.chunk" */ "./../components/discover/FindFriends.vue");
+const DiscoverServerFeedComponent = () => import(/* webpackChunkName: "discover~serverfeed.chunk" */ "./../components/discover/ServerFeed.vue");
+const DiscoverSettingsComponent = () => import(/* webpackChunkName: "discover~settings.chunk" */ "./../components/discover/Settings.vue");
+const DiscoverComponent = () => import(/* webpackChunkName: "discover.chunk" */ "./../components/Discover.vue");
+const NotificationsComponent = () => import(/* webpackChunkName: "notifications.chunk" */ "./../components/Notifications.vue");
+const DirectComponent = () => import(/* webpackChunkName: "dms.chunk" */ "./../components/Direct.vue");
+const DirectMessageComponent = () => import(/* webpackChunkName: "dms~message.chunk" */ "./../components/DirectMessage.vue");
+const ProfileFollowersComponent = () => import(/* webpackChunkName: "profile~followers.bundle" */ "./../components/ProfileFollowers.vue");
+const ProfileFollowingComponent = () => import(/* webpackChunkName: "profile~following.bundle" */ "./../components/ProfileFollowing.vue");
+const HashtagComponent = () => import(/* webpackChunkName: "discover~hashtag.bundle" */ "./../components/Hashtag.vue");
+const NotFoundComponent = () => import(/* webpackChunkName: "error404.bundle" */ "./../components/NotFound.vue");
+// const HelpComponent = () => import(/* webpackChunkName: "help.bundle" */ "./../components/HelpComponent.vue");
+// const KnowledgebaseComponent = () => import(/* webpackChunkName: "kb.bundle" */ "./../components/Knowledgebase.vue");
+// const AboutComponent = () => import(/* webpackChunkName: "about.bundle" */ "./../components/About.vue");
+// const ContactComponent = () => import(/* webpackChunkName: "contact.bundle" */ "./../components/Contact.vue");
+const LanguageComponent = () => import(/* webpackChunkName: "i18n.bundle" */ "./../components/Language.vue");
+// const PrivacyComponent = () => import(/* webpackChunkName: "static~privacy.bundle" */ "./../components/Privacy.vue");
+// const TermsComponent = () => import(/* webpackChunkName: "static~tos.bundle" */ "./../components/Terms.vue");
+const ChangelogComponent = () => import(/* webpackChunkName: "changelog.bundle" */ "./../components/Changelog.vue");
+
+// import LiveComponent from "./../components/Live.vue";
+// import LivestreamsComponent from "./../components/Livestreams.vue";
+// import LivePlayerComponent from "./../components/LivePlayer.vue";
+// import LiveHelpComponent from "./../components/LiveHelp.vue";
+
+// import DriveComponent from "./../components/Drive.vue";
+// import SettingsComponent from "./../components/Settings.vue";
+// import ProfileComponent from "./components/ProfileNext.vue";
+// import VideosComponent from "./../components/Videos.vue";
+// import GroupsComponent from "./../components/Groups.vue";
+
+const router = new VueRouter({
+ mode: "history",
+ linkActiveClass: "active",
+
+ routes: [
+ {
+ path: "/i/web/timeline/:scope",
+ name: 'timeline',
+ component: HomeComponent,
+ props: true
+ },
+ // {
+ // path: "/i/web/timeline/local",
+ // component: LocalTimeline
+ // },
+ // {
+ // path: "/i/web/timeline/global",
+ // component: GlobalTimeline
+ // },
+ // {
+ // path: "/i/web/drive",
+ // name: 'drive',
+ // component: DriveComponent,
+ // props: true
+ // },
+ // {
+ // path: "/i/web/groups",
+ // name: 'groups',
+ // component: GroupsComponent,
+ // props: true
+ // },
+ {
+ path: "/i/web/post/:id",
+ name: 'post',
+ component: PostComponent,
+ props: true
+ },
+ // {
+ // path: "/i/web/profile/:id/live",
+ // component: LivePlayerComponent,
+ // props: true
+ // },
+ {
+ path: "/i/web/profile/:id/followers",
+ name: 'profile-followers',
+ component: ProfileFollowersComponent,
+ props: true
+ },
+ {
+ path: "/i/web/profile/:id/following",
+ name: 'profile-following',
+ component: ProfileFollowingComponent,
+ props: true
+ },
+ {
+ path: "/i/web/profile/:id",
+ name: 'profile',
+ component: ProfileComponent,
+ props: true
+ },
+ // {
+ // path: "/i/web/videos",
+ // component: VideosComponent
+ // },
+ {
+ path: "/i/web/discover",
+ component: DiscoverComponent
+ },
+ // {
+ // path: "/i/web/stories",
+ // component: HomeComponent
+ // },
+ // {
+ // path: "/i/web/settings/*",
+ // component: SettingsComponent,
+ // props: true
+ // },
+ // {
+ // path: "/i/web/settings",
+ // component: SettingsComponent
+ // },
+ {
+ path: "/i/web/compose",
+ component: ComposeComponent
+ },
+ {
+ path: "/i/web/notifications",
+ component: NotificationsComponent
+ },
+ {
+ path: "/i/web/direct/thread/:accountId",
+ component: DirectMessageComponent,
+ props: true
+ },
+ {
+ path: "/i/web/direct",
+ component: DirectComponent
+ },
+ // {
+ // path: "/i/web/kb/:id",
+ // name: "kb",
+ // component: KnowledgebaseComponent,
+ // props: true
+ // },
+ {
+ path: "/i/web/hashtag/:id",
+ name: "hashtag",
+ component: HashtagComponent,
+ props: true
+ },
+ // {
+ // path: "/i/web/help",
+ // component: HelpComponent
+ // },
+ // {
+ // path: "/i/web/about",
+ // component: AboutComponent
+ // },
+ // {
+ // path: "/i/web/contact",
+ // component: ContactComponent
+ // },
+ {
+ path: "/i/web/language",
+ component: LanguageComponent
+ },
+ // {
+ // path: "/i/web/privacy",
+ // component: PrivacyComponent
+ // },
+ // {
+ // path: "/i/web/terms",
+ // component: TermsComponent
+ // },
+ {
+ path: "/i/web/whats-new",
+ component: ChangelogComponent
+ },
+ {
+ path: "/i/web/discover/my-memories",
+ component: MemoriesComponent
+ },
+ {
+ path: "/i/web/discover/my-hashtags",
+ component: MyHashtagComponent
+ },
+ {
+ path: "/i/web/discover/account-insights",
+ component: AccountInsightsComponent
+ },
+ {
+ path: "/i/web/discover/find-friends",
+ component: DiscoverFindFriendsComponent
+ },
+ {
+ path: "/i/web/discover/server-timelines",
+ component: DiscoverServerFeedComponent
+ },
+ {
+ path: "/i/web/discover/settings",
+ component: DiscoverSettingsComponent
+ },
+ // {
+ // path: "/i/web/livestreams",
+ // component: LivestreamsComponent
+ // },
+ // {
+ // path: "/i/web/live/help",
+ // component: LiveHelpComponent
+ // },
+ // {
+ // path: "/i/web/live/player",
+ // component: LivePlayerComponent
+ // },
+ // {
+ // path: "/i/web/live",
+ // component: LiveComponent
+ // },
+
+ {
+ path: "/i/web",
+ component: HomeComponent,
+ props: true
+ },
+ {
+ path: "/i/web/*",
+ component: NotFoundComponent,
+ props: true
+ },
+ ],
+
+ scrollBehavior(to, from, savedPosition) {
+ if (to.hash) {
+ return {
+ selector: `[id='${to.hash.slice(1)}']`
+ };
+ } else {
+ return { x: 0, y: 0 };
+ }
+ }
+});
+
+function lss(name, def) {
+ let key = 'pf_m2s.' + name;
+ let ls = window.localStorage;
+ if(ls.getItem(key)) {
+ let val = ls.getItem(key);
+ if(['pl', 'color-scheme'].includes(name)) {
+ return val;
+ }
+ return ['true', true].includes(val);
+ }
+ return def;
+}
+
+const store = new Vuex.Store({
+ state: {
+ version: 1,
+ hideCounts: lss('hc', false),
+ autoloadComments: lss('ac', true),
+ newReactions: lss('nr', true),
+ fixedHeight: lss('fh', false),
+ profileLayout: lss('pl', 'grid'),
+ showDMPrivacyWarning: lss('dmpwarn', true),
+ relationships: {},
+ emoji: [],
+ colorScheme: lss('color-scheme', 'system'),
+ },
+
+ getters: {
+ getVersion: state => {
+ return state.version;
+ },
+
+ getHideCounts: state => {
+ return state.hideCounts;
+ },
+
+ getAutoloadComments: state => {
+ return state.autoloadComments;
+ },
+
+ getNewReactions: state => {
+ return state.newReactions;
+ },
+
+ getFixedHeight: state => {
+ return state.fixedHeight;
+ },
+
+ getProfileLayout: state => {
+ return state.profileLayout;
+ },
+
+ getRelationship: (state) => (id) => {
+ // let rel = state.relationships[id];
+ // if(!rel || !rel.hasOwnProperty('id')) {
+ // return axios.get('/api/pixelfed/v1/accounts/relationships', {
+ // params: {
+ // 'id[]': id
+ // }
+ // })
+ // .then(res => {
+ // let relationship = res.data;
+ // // Vue.set(state.relationships, relationship.id, relationship);
+ // state.commit('updateRelationship', res.data[0]);
+ // return res.data[0];
+ // })
+ // .catch(err => {
+ // return {};
+ // })
+ // } else {
+ // return state.relationships[id];
+ // }
+ return state.relationships[id];
+ },
+
+ getCustomEmoji: state => {
+ return state.emoji;
+ },
+
+ getColorScheme: state => {
+ return state.colorScheme;
+ },
+
+ getShowDMPrivacyWarning: state => {
+ return state.showDMPrivacyWarning;
+ }
+ },
+
+ mutations: {
+ setVersion(state, value) {
+ state.version = value;
+ },
+
+ setHideCounts(state, value) {
+ localStorage.setItem('pf_m2s.hc', value);
+ state.hideCounts = value;
+ },
+
+ setAutoloadComments(state, value) {
+ localStorage.setItem('pf_m2s.ac', value);
+ state.autoloadComments = value;
+ },
+
+ setNewReactions(state, value) {
+ localStorage.setItem('pf_m2s.nr', value);
+ state.newReactions = value;
+ },
+
+ setFixedHeight(state, value) {
+ localStorage.setItem('pf_m2s.fh', value);
+ state.fixedHeight = value;
+ },
+
+ setProfileLayout(state, value) {
+ localStorage.setItem('pf_m2s.pl', value);
+ state.profileLayout = value;
+ },
+
+ updateRelationship(state, relationships) {
+ relationships.forEach((relationship) => {
+ Vue.set(state.relationships, relationship.id, relationship)
+ })
+ },
+
+ updateCustomEmoji(state, emojis) {
+ state.emoji = emojis;
+ },
+
+ setColorScheme(state, value) {
+ if(state.colorScheme == value) {
+ return;
+ }
+ localStorage.setItem('pf_m2s.color-scheme', value);
+ state.colorScheme = value;
+ const name = value == 'system' ? '' : (value == 'light' ? 'force-light-mode' : 'force-dark-mode');
+ document.querySelector("body").className = name;
+ if(name != 'system') {
+ const payload = name == 'force-dark-mode' ? { dark_mode: 'on' } : {};
+ axios.post('/settings/labs', payload);
+ }
+ },
+
+ setShowDMPrivacyWarning(state, value) {
+ localStorage.setItem('pf_m2s.dmpwarn', value);
+ state.showDMPrivacyWarning = value;
+ }
+ },
+});
+
+let i18nMessages = {
+ en: require('./i18n/en.json'),
+ ar: require('./i18n/ar.json'),
+ ca: require('./i18n/ca.json'),
+ de: require('./i18n/de.json'),
+ el: require('./i18n/el.json'),
+ es: require('./i18n/es.json'),
+ eu: require('./i18n/eu.json'),
+ fr: require('./i18n/fr.json'),
+ he: require('./i18n/he.json'),
+ gd: require('./i18n/gd.json'),
+ gl: require('./i18n/gl.json'),
+ id: require('./i18n/id.json'),
+ it: require('./i18n/it.json'),
+ ja: require('./i18n/ja.json'),
+ nl: require('./i18n/nl.json'),
+ pl: require('./i18n/pl.json'),
+ pt: require('./i18n/pt.json'),
+ ru: require('./i18n/ru.json'),
+ uk: require('./i18n/uk.json'),
+ vi: require('./i18n/vi.json'),
+};
+
+let locale = document.querySelector('html').getAttribute('lang');
+
+const i18n = new VueI18n({
+ locale: locale, // set locale
+ fallbackLocale: 'en',
+ messages: i18nMessages
+});
+
+sync(store, router);
+
+const App = new Vue({
+ el: '#content',
+ i18n,
+ router,
+ store
+});
+
+axios.get('/api/v1/custom_emojis')
+.then(res => {
+ if(res && res.data && res.data.length) {
+ store.commit('updateCustomEmoji', res.data);
+ }
+});
+
+if(store.state.colorScheme) {
+ const name = store.state.colorScheme == 'system' ? '' : (store.state.colorScheme == 'light' ? 'force-light-mode' : 'force-dark-mode');
+ if(name != 'system') {
+ document.querySelector("body").className = name;
+ }
+}
+
+pixelfed.readmore = () => {
+ $('.read-more').each(function(k,v) {
+ let el = $(this);
+ let attr = el.attr('data-readmore');
+ if(typeof attr !== typeof undefined && attr !== false) {
+ return;
+ }
+ el.readmore({
+ collapsedHeight: 45,
+ heightMargin: 48,
+ moreLink: 'Show more ',
+ lessLink: 'Show less ',
+ });
+ });
+};
+
+try {
+ document.createEvent("TouchEvent");
+ $('body').addClass('touch');
+} catch (e) {
+}
+
+window.App = window.App || {};
+
+// window.App.redirect = function() {
+// document.querySelectorAll('a').forEach(function(i,k) {
+// let a = i.getAttribute('href');
+// if(a && a.length > 5 && a.startsWith('https://')) {
+// let url = new URL(a);
+// if(url.host !== window.location.host && url.pathname !== '/i/redirect') {
+// i.setAttribute('href', '/i/redirect?url=' + encodeURIComponent(a));
+// }
+// }
+// });
+// }
+
+// window.App.boot = function() {
+// new Vue({ el: '#content'});
+// }
+
+// window.addEventListener("load", () => {
+// if ("serviceWorker" in navigator) {
+// navigator.serviceWorker.register("/sw.js");
+// }
+// });
+
+window.App.util = {
+ compose: {
+ post: (function() {
+ let path = window.location.pathname;
+ let whitelist = [
+ '/',
+ '/timeline/public'
+ ];
+ if(whitelist.includes(path)) {
+ $('#composeModal').modal('show');
+ } else {
+ window.location.href = '/?a=co';
+ }
+ }),
+ circle: (function() {
+ console.log('Unsupported method.');
+ }),
+ collection: (function() {
+ console.log('Unsupported method.');
+ }),
+ loop: (function() {
+ console.log('Unsupported method.');
+ }),
+ story: (function() {
+ console.log('Unsupported method.');
+ }),
+ },
+ time: (function() {
+ return new Date;
+ }),
+ version: 1,
+ format: {
+ count: (function(count = 0, locale = 'en-GB', notation = 'compact') {
+ if(count < 1) {
+ return 0;
+ }
+ return new Intl.NumberFormat(locale, { notation: notation , compactDisplay: "short" }).format(count);
+ }),
+ timeAgo: (function(ts) {
+ let date = Date.parse(ts);
+ let seconds = Math.floor((new Date() - date) / 1000);
+ let interval = Math.floor(seconds / 63072000);
+ if (interval < 0) {
+ return "0s";
+ }
+ if (interval >= 1) {
+ return interval + "y";
+ }
+ interval = Math.floor(seconds / 604800);
+ if (interval >= 1) {
+ return interval + "w";
+ }
+ interval = Math.floor(seconds / 86400);
+ if (interval >= 1) {
+ return interval + "d";
+ }
+ interval = Math.floor(seconds / 3600);
+ if (interval >= 1) {
+ return interval + "h";
+ }
+ interval = Math.floor(seconds / 60);
+ if (interval >= 1) {
+ return interval + "m";
+ }
+ return Math.floor(seconds) + "s";
+ }),
+ timeAhead: (function(ts, short = true) {
+ let date = Date.parse(ts);
+ let diff = date - Date.parse(new Date());
+ let seconds = Math.floor((diff) / 1000);
+ let interval = Math.floor(seconds / 63072000);
+ if (interval >= 1) {
+ return interval + (short ? "y" : " years");
+ }
+ interval = Math.floor(seconds / 604800);
+ if (interval >= 1) {
+ return interval + (short ? "w" : " weeks");
+ }
+ interval = Math.floor(seconds / 86400);
+ if (interval >= 1) {
+ return interval + (short ? "d" : " days");
+ }
+ interval = Math.floor(seconds / 3600);
+ if (interval >= 1) {
+ return interval + (short ? "h" : " hours");
+ }
+ interval = Math.floor(seconds / 60);
+ if (interval >= 1) {
+ return interval + (short ? "m" : " minutes");
+ }
+ return Math.floor(seconds) + (short ? "s" : " seconds");
+ }),
+ rewriteLinks: (function(i) {
+
+ let tag = i.innerText;
+
+ if(i.href.startsWith(window.location.origin)) {
+ return i.href;
+ }
+
+ if(tag.startsWith('#') == true) {
+ tag = '/discover/tags/' + tag.substr(1) +'?src=rph';
+ } else if(tag.startsWith('@') == true) {
+ tag = '/' + i.innerText + '?src=rpp';
+ } else {
+ tag = '/i/redirect?url=' + encodeURIComponent(tag);
+ }
+
+ return tag;
+ })
+ },
+ filters: [
+ ['1984','filter-1977'],
+ ['Azen','filter-aden'],
+ ['Astairo','filter-amaro'],
+ ['Grassbee','filter-ashby'],
+ ['Bookrun','filter-brannan'],
+ ['Borough','filter-brooklyn'],
+ ['Farms','filter-charmes'],
+ ['Hairsadone','filter-clarendon'],
+ ['Cleana ','filter-crema'],
+ ['Catpatch','filter-dogpatch'],
+ ['Earlyworm','filter-earlybird'],
+ ['Plaid','filter-gingham'],
+ ['Kyo','filter-ginza'],
+ ['Yefe','filter-hefe'],
+ ['Goddess','filter-helena'],
+ ['Yards','filter-hudson'],
+ ['Quill','filter-inkwell'],
+ ['Rankine','filter-kelvin'],
+ ['Juno','filter-juno'],
+ ['Mark','filter-lark'],
+ ['Chill','filter-lofi'],
+ ['Van','filter-ludwig'],
+ ['Apache','filter-maven'],
+ ['May','filter-mayfair'],
+ ['Ceres','filter-moon'],
+ ['Knoxville','filter-nashville'],
+ ['Felicity','filter-perpetua'],
+ ['Sandblast','filter-poprocket'],
+ ['Daisy','filter-reyes'],
+ ['Elevate','filter-rise'],
+ ['Nevada','filter-sierra'],
+ ['Futura','filter-skyline'],
+ ['Sleepy','filter-slumber'],
+ ['Steward','filter-stinson'],
+ ['Savoy','filter-sutro'],
+ ['Blaze','filter-toaster'],
+ ['Apricot','filter-valencia'],
+ ['Gloming','filter-vesper'],
+ ['Walter','filter-walden'],
+ ['Poplar','filter-willow'],
+ ['Xenon','filter-xpro-ii']
+ ],
+ filterCss: {
+ 'filter-1977': 'sepia(.5) hue-rotate(-30deg) saturate(1.4)',
+ 'filter-aden': 'sepia(.2) brightness(1.15) saturate(1.4)',
+ 'filter-amaro': 'sepia(.35) contrast(1.1) brightness(1.2) saturate(1.3)',
+ 'filter-ashby': 'sepia(.5) contrast(1.2) saturate(1.8)',
+ 'filter-brannan': 'sepia(.4) contrast(1.25) brightness(1.1) saturate(.9) hue-rotate(-2deg)',
+ 'filter-brooklyn': 'sepia(.25) contrast(1.25) brightness(1.25) hue-rotate(5deg)',
+ 'filter-charmes': 'sepia(.25) contrast(1.25) brightness(1.25) saturate(1.35) hue-rotate(-5deg)',
+ 'filter-clarendon': 'sepia(.15) contrast(1.25) brightness(1.25) hue-rotate(5deg)',
+ 'filter-crema': 'sepia(.5) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-2deg)',
+ 'filter-dogpatch': 'sepia(.35) saturate(1.1) contrast(1.5)',
+ 'filter-earlybird': 'sepia(.25) contrast(1.25) brightness(1.15) saturate(.9) hue-rotate(-5deg)',
+ 'filter-gingham': 'contrast(1.1) brightness(1.1)',
+ 'filter-ginza': 'sepia(.25) contrast(1.15) brightness(1.2) saturate(1.35) hue-rotate(-5deg)',
+ 'filter-hefe': 'sepia(.4) contrast(1.5) brightness(1.2) saturate(1.4) hue-rotate(-10deg)',
+ 'filter-helena': 'sepia(.5) contrast(1.05) brightness(1.05) saturate(1.35)',
+ 'filter-hudson': 'sepia(.25) contrast(1.2) brightness(1.2) saturate(1.05) hue-rotate(-15deg)',
+ 'filter-inkwell': 'brightness(1.25) contrast(.85) grayscale(1)',
+ 'filter-kelvin': 'sepia(.15) contrast(1.5) brightness(1.1) hue-rotate(-10deg)',
+ 'filter-juno': 'sepia(.35) contrast(1.15) brightness(1.15) saturate(1.8)',
+ 'filter-lark': 'sepia(.25) contrast(1.2) brightness(1.3) saturate(1.25)',
+ 'filter-lofi': 'saturate(1.1) contrast(1.5)',
+ 'filter-ludwig': 'sepia(.25) contrast(1.05) brightness(1.05) saturate(2)',
+ 'filter-maven': 'sepia(.35) contrast(1.05) brightness(1.05) saturate(1.75)',
+ 'filter-mayfair': 'contrast(1.1) brightness(1.15) saturate(1.1)',
+ 'filter-moon': 'brightness(1.4) contrast(.95) saturate(0) sepia(.35)',
+ 'filter-nashville': 'sepia(.25) contrast(1.5) brightness(.9) hue-rotate(-15deg)',
+ 'filter-perpetua': 'contrast(1.1) brightness(1.25) saturate(1.1)',
+ 'filter-poprocket': 'sepia(.15) brightness(1.2)',
+ 'filter-reyes': 'sepia(.75) contrast(.75) brightness(1.25) saturate(1.4)',
+ 'filter-rise': 'sepia(.25) contrast(1.25) brightness(1.2) saturate(.9)',
+ 'filter-sierra': 'sepia(.25) contrast(1.5) brightness(.9) hue-rotate(-15deg)',
+ 'filter-skyline': 'sepia(.15) contrast(1.25) brightness(1.25) saturate(1.2)',
+ 'filter-slumber': 'sepia(.35) contrast(1.25) saturate(1.25)',
+ 'filter-stinson': 'sepia(.35) contrast(1.25) brightness(1.1) saturate(1.25)',
+ 'filter-sutro': 'sepia(.4) contrast(1.2) brightness(.9) saturate(1.4) hue-rotate(-10deg)',
+ 'filter-toaster': 'sepia(.25) contrast(1.5) brightness(.95) hue-rotate(-15deg)',
+ 'filter-valencia': 'sepia(.25) contrast(1.1) brightness(1.1)',
+ 'filter-vesper': 'sepia(.35) contrast(1.15) brightness(1.2) saturate(1.3)',
+ 'filter-walden': 'sepia(.35) contrast(.8) brightness(1.25) saturate(1.4)',
+ 'filter-willow': 'brightness(1.2) contrast(.85) saturate(.05) sepia(.2)',
+ 'filter-xpro-ii': 'sepia(.45) contrast(1.25) brightness(1.75) saturate(1.3) hue-rotate(-5deg)'
+ },
+ emoji: ['😂','💯','❤️','🙌','👏','👌','😍','😯','😢','😅','😁','🙂','😎','😀','🤣','😃','😄','😆','😉','😊','😋','😘','😗','😙','😚','🤗','🤩','🤔','🤨','😐','😑','😶','🙄','😏','😣','😥','😮','🤐','😪','😫','😴','😌','😛','😜','😝','🤤','😒','😓','😔','😕','🙃','🤑','😲','🙁','😖','😞','😟','😤','😭','😦','😧','😨','😩','🤯','😬','😰','😱','😳','🤪','😵','😡','😠','🤬','😷','🤒','🤕','🤢','🤮','🤧','😇','🤠','🤡','🤥','🤫','🤭','🧐','🤓','😈','👿','👹','👺','💀','👻','👽','🤖','💩','😺','😸','😹','😻','😼','😽','🙀','😿','😾','🤲','👐','🤝','👍','👎','👊','✊','🤛','🤜','🤞','✌️','🤟','🤘','👈','👉','👆','👇','☝️','✋','🤚','🖐','🖖','👋','🤙','💪','🖕','✍️','🙏','💍','💄','💋','👄','👅','👂','👃','👣','👁','👀','🧠','🗣','👤','👥'
+ ],
+ embed: {
+ post: (function(url, caption = true, likes = false, layout = 'full') {
+ let u = url + '/embed?';
+ u += caption ? 'caption=true&' : 'caption=false&';
+ u += likes ? 'likes=true&' : 'likes=false&';
+ u += layout == 'compact' ? 'layout=compact' : 'layout=full';
+ return '
+@endpush
diff --git a/resources/views/admin/diagnostics/home.blade.php b/resources/views/admin/diagnostics/home.blade.php
index 75831fc95..bf2b5d742 100644
--- a/resources/views/admin/diagnostics/home.blade.php
+++ b/resources/views/admin/diagnostics/home.blade.php
@@ -74,11 +74,11 @@
OAUTH public key exists:
- {{ file_exists(storage_path('oauth-public.key')) ? '✅ true' : '❌ false' }}
+ {{ file_exists(storage_path('oauth-public.key')) || config_cache('passport.public_key') ? '✅ true' : '❌ false' }}
OAUTH private key exists:
- {{ file_exists(storage_path('oauth-private.key')) ? '✅ true' : '❌ false' }}
+ {{ file_exists(storage_path('oauth-private.key')) || config_cache('passport.private_key') ? '✅ true' : '❌ false' }}
diff --git a/resources/views/admin/home.blade.php b/resources/views/admin/home.blade.php
index 92f606f98..e53e48182 100644
--- a/resources/views/admin/home.blade.php
+++ b/resources/views/admin/home.blade.php
@@ -97,269 +97,369 @@
-
-
-
+
+ Load more
+
+
+
+
+
+ Delete Selected Accounts
+
+
+
+
+
-
-
+
@endsection
@push('scripts')
@endpush
@push('styles')
@endpush
diff --git a/resources/views/admin/partial/nav.blade.php b/resources/views/admin/partial/nav.blade.php
index fe011be1a..cbbf17822 100644
--- a/resources/views/admin/partial/nav.blade.php
+++ b/resources/views/admin/partial/nav.blade.php
@@ -1,7 +1,8 @@
+ + {{ post.account.acct }} + +
+ + ++ {{ $t('common.sensitiveContentWarning') }} +
+ Show + + + ++ + {{ post.account.acct }} + +
++
Click to view
++ + + · + + {{ timeago(post.created_at) }} + + + · + + Delete + + + + + · + + Report + + +
+ + +