From 76d18365a5d8e5842b192b5b7a36f80215954e9c Mon Sep 17 00:00:00 2001 From: Nurmuhammet Allanov Date: Sun, 1 Sep 2024 18:40:53 +0500 Subject: [PATCH] add updates --- app/Helpers/helpers.php | 2 +- .../Swiftpayment/Models/Swiftpayment.php | 7 + .../Nova/Resources/NovaSwiftpayment.php | 9 - app/Nova/Forms/NovaForm.php | 3 +- app/Nova/Resources/Branch/Branch.php | 4 +- app/Nova/Resources/Order/Card/CardOrder.php | 22 +- .../Order/Card/Concerns/CardOrderNovaRepo.php | 4 +- app/Nova/Resources/Order/Card/Pin/CardPin.php | 10 +- .../Order/Card/Requisite/CardRequisite.php | 10 +- .../Order/Loan/Concerns/LoanOrderNovaRepo.php | 4 +- app/Nova/Resources/Order/Loan/LoanOrder.php | 20 +- .../Order/Loan/LoanPaidOffLetterOrder.php | 8 +- app/Nova/Resources/Order/Loan/LoanType.php | 2 +- .../Resources/System/Location/Province.php | 4 +- app/Providers/AuthServiceProvider.php | 2 +- app/Providers/NovaServiceProvider.php | 2 - app/Repos/Branch/BranchRepo.php | 2 +- app/Repos/System/Locale/LocaleManagerRepo.php | 4 +- app/Repos/System/Location/ProvinceRepo.php | 4 +- app/Rules/PhoneCodeVerification.php | 4 +- composer.json | 4 +- composer.lock | 1448 +++++++++-------- config/pulse.php | 75 +- .../2023_06_07_000001_create_pulse_tables.php | 84 + .../nova-kit/nova-packages-tool/tool.js | 2 +- .../nova-kit/nova-packages-tool/tool.js.map | 2 +- public/vendor/nova/app.css | 2 +- public/vendor/nova/app.css.map | 2 +- public/vendor/nova/app.js | 2 +- public/vendor/nova/app.js.map | 2 +- public/vendor/nova/manifest.js | 2 +- public/vendor/nova/manifest.js.map | 2 +- public/vendor/nova/mix-manifest.json | 8 +- public/vendor/nova/vendor.js | 2 +- public/vendor/nova/vendor.js.LICENSE.txt | 10 +- public/vendor/nova/vendor.js.map | 2 +- .../swiftpayments/required-files.blade.php | 5 + .../views/vendor/pulse/dashboard.blade.php | 26 +- 38 files changed, 991 insertions(+), 816 deletions(-) create mode 100644 database/migrations/2023_06_07_000001_create_pulse_tables.php create mode 100644 resources/views/nova/swiftpayments/required-files.blade.php diff --git a/app/Helpers/helpers.php b/app/Helpers/helpers.php index 3284234..744d960 100644 --- a/app/Helpers/helpers.php +++ b/app/Helpers/helpers.php @@ -79,7 +79,7 @@ function sendSMS(string|int $phone, string|int $message) return; } - $client = new Client(); + $client = new Client; $headers = [ 'Content-Type' => 'application/json;charset=utf-8;', 'Charset' => 'UTF-8', diff --git a/app/Modules/Swiftpayment/Models/Swiftpayment.php b/app/Modules/Swiftpayment/Models/Swiftpayment.php index 2a8a43d..5bcdea3 100644 --- a/app/Modules/Swiftpayment/Models/Swiftpayment.php +++ b/app/Modules/Swiftpayment/Models/Swiftpayment.php @@ -15,6 +15,13 @@ class Swiftpayment extends Model implements HasMedia use HasUuids; use InteractsWithMedia; + /** + * Table + * + * @var string + */ + protected $table = 'swift_payments'; + /** * The attributes that should be cast. * diff --git a/app/Modules/Swiftpayment/Nova/Resources/NovaSwiftpayment.php b/app/Modules/Swiftpayment/Nova/Resources/NovaSwiftpayment.php index 17da112..33674a5 100644 --- a/app/Modules/Swiftpayment/Nova/Resources/NovaSwiftpayment.php +++ b/app/Modules/Swiftpayment/Nova/Resources/NovaSwiftpayment.php @@ -147,15 +147,6 @@ class NovaSwiftpayment extends Resource Text::make('A.F.AA'), ])->maxRows(1)->rules('required'), - // CustomHtml::make(__('Required files'), 'required_files') - // ->onlyOnForms() - // ->fillUsing(function ($request, $model, $attribute, $requestAttribute) {}) - // ->dependsOn(['type'], function (CustomHtml $field, NovaRequest $request, FormData $formData) { - // if ($formData->type) { - // $field->html(\App\Models\ApplicationTypes::filesFor($formData->type)); - // } - // }), - Files::make('Talap edilýän resminamalar', 'main') ->conversionOnIndexView('thumb') ->rules('required') diff --git a/app/Nova/Forms/NovaForm.php b/app/Nova/Forms/NovaForm.php index 1e5fdcb..4371caf 100644 --- a/app/Nova/Forms/NovaForm.php +++ b/app/Nova/Forms/NovaForm.php @@ -12,8 +12,7 @@ class NovaForm */ public static function fillEmpty(): Closure { - return function ($request, $model, $attribute, $requestAttribute) { - }; + return function ($request, $model, $attribute, $requestAttribute) {}; } /** diff --git a/app/Nova/Resources/Branch/Branch.php b/app/Nova/Resources/Branch/Branch.php index 0fd3346..500e8ff 100644 --- a/app/Nova/Resources/Branch/Branch.php +++ b/app/Nova/Resources/Branch/Branch.php @@ -113,8 +113,8 @@ class Branch extends Resource public function filters(NovaRequest $request): array { return [ - new RegionFilter(), - new ActiveFilter(), + new RegionFilter, + new ActiveFilter, ]; } diff --git a/app/Nova/Resources/Order/Card/CardOrder.php b/app/Nova/Resources/Order/Card/CardOrder.php index ef646f1..04f4657 100644 --- a/app/Nova/Resources/Order/Card/CardOrder.php +++ b/app/Nova/Resources/Order/Card/CardOrder.php @@ -146,7 +146,7 @@ class CardOrder extends Resource */ public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string { - $payment = (new OnlinePaymentRepo())->payCardOrder($resource); + $payment = (new OnlinePaymentRepo)->payCardOrder($resource); return $payment['status'] === 'success' ? URL::remote($payment['url']) @@ -246,19 +246,19 @@ class CardOrder extends Resource new Panel(__('Personal data'), [ Text::make(__('Name'), 'customer_name') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Surname'), 'customer_surname') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Patronic name'), 'customer_patronic_name') ->size('w-1/3') - ->rules('nullable', 'string', new OnlyLetters(), 'max:255'), + ->rules('nullable', 'string', new OnlyLetters, 'max:255'), Text::make(__('Old surname (if changed)'), 'old_surname') ->size('w-1/2') - ->rules('nullable', 'string', new OnlyLetters(), 'max:255'), + ->rules('nullable', 'string', new OnlyLetters, 'max:255'), Date::make(__('Date of birth'), 'born_at') ->size('w-1/2') @@ -286,15 +286,15 @@ class CardOrder extends Resource Text::make(__('Residence (passport)'), 'passport_address') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), Text::make(__('Current Residence'), 'real_address') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), Text::make(__('Work location and your position'), 'job_location') ->size('w-full') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), ]), new Panel(__('Passport'), [ @@ -315,11 +315,11 @@ class CardOrder extends Resource Text::make(__('Passport given by'), 'passport_given_by') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), Text::make(__('Born place (passport)'), 'born_place') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), ]), new Panel(__('Passport files'), [ @@ -375,7 +375,7 @@ class CardOrder extends Resource RegionFilter::make() ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), - new StatusFilter(), + new StatusFilter, ]; } diff --git a/app/Nova/Resources/Order/Card/Concerns/CardOrderNovaRepo.php b/app/Nova/Resources/Order/Card/Concerns/CardOrderNovaRepo.php index 2fbfaaf..bb848b9 100644 --- a/app/Nova/Resources/Order/Card/Concerns/CardOrderNovaRepo.php +++ b/app/Nova/Resources/Order/Card/Concerns/CardOrderNovaRepo.php @@ -2,6 +2,4 @@ namespace App\Nova\Resources\Order\Card\Concerns; -class CardOrderNovaRepo -{ -} +class CardOrderNovaRepo {} diff --git a/app/Nova/Resources/Order/Card/Pin/CardPin.php b/app/Nova/Resources/Order/Card/Pin/CardPin.php index b007275..2dbe3a4 100644 --- a/app/Nova/Resources/Order/Card/Pin/CardPin.php +++ b/app/Nova/Resources/Order/Card/Pin/CardPin.php @@ -160,7 +160,7 @@ class CardPin extends Resource */ public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string { - $payment = (new OnlinePaymentRepo())->payCardOrder($resource); + $payment = (new OnlinePaymentRepo)->payCardOrder($resource); return $payment['status'] === 'success' ? URL::remote($payment['url']) @@ -244,15 +244,15 @@ class CardPin extends Resource new Panel(__('Personal data'), [ Text::make(__('Name'), 'customer_name') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Surname'), 'customer_surname') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Patronic name'), 'customer_patronic_name') ->size('w-1/3') - ->rules('nullable', 'string', new OnlyLetters(), 'max:255'), + ->rules('nullable', 'string', new OnlyLetters, 'max:255'), Date::make(__('Date of birth'), 'born_at') ->size('w-1/2') @@ -329,7 +329,7 @@ class CardPin extends Resource RegionFilter::make() ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), - new StatusFilter(), + new StatusFilter, ]; } diff --git a/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php b/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php index 47a8a29..33bf755 100644 --- a/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php +++ b/app/Nova/Resources/Order/Card/Requisite/CardRequisite.php @@ -165,7 +165,7 @@ class CardRequisite extends Resource */ public static function redirectAfterCreate(NovaRequest $request, $resource): URL|string { - $payment = (new OnlinePaymentRepo())->payCardOrder($resource); + $payment = (new OnlinePaymentRepo)->payCardOrder($resource); return $payment['status'] === 'success' ? URL::remote($payment['url']) @@ -249,15 +249,15 @@ class CardRequisite extends Resource new Panel(__('Personal data'), [ Text::make(__('Name'), 'customer_name') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Surname'), 'customer_surname') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Patronic name'), 'customer_patronic_name') ->size('w-1/3') - ->rules('nullable', 'string', new OnlyLetters(), 'max:255'), + ->rules('nullable', 'string', new OnlyLetters, 'max:255'), Date::make(__('Date of birth'), 'born_at') ->size('w-1/2') @@ -341,7 +341,7 @@ class CardRequisite extends Resource RegionFilter::make() ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), - new StatusFilter(), + new StatusFilter, ]; } diff --git a/app/Nova/Resources/Order/Loan/Concerns/LoanOrderNovaRepo.php b/app/Nova/Resources/Order/Loan/Concerns/LoanOrderNovaRepo.php index dc541ab..e6aa080 100644 --- a/app/Nova/Resources/Order/Loan/Concerns/LoanOrderNovaRepo.php +++ b/app/Nova/Resources/Order/Loan/Concerns/LoanOrderNovaRepo.php @@ -2,6 +2,4 @@ namespace App\Nova\Resources\Order\Loan\Concerns; -class LoanOrderNovaRepo -{ -} +class LoanOrderNovaRepo {} diff --git a/app/Nova/Resources/Order/Loan/LoanOrder.php b/app/Nova/Resources/Order/Loan/LoanOrder.php index f571c74..d4b91dc 100644 --- a/app/Nova/Resources/Order/Loan/LoanOrder.php +++ b/app/Nova/Resources/Order/Loan/LoanOrder.php @@ -200,15 +200,15 @@ class LoanOrder extends Resource new Panel(__('Personal data'), [ Text::make(__('Name'), 'customer_name') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Surname'), 'customer_surname') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Patronic name'), 'customer_patronic_name') ->size('w-1/3') - ->rules('nullable', 'string', new OnlyLetters(), 'max:255'), + ->rules('nullable', 'string', new OnlyLetters, 'max:255'), Select::make(__('Education'), 'education') ->displayUsingLabels() @@ -234,11 +234,11 @@ class LoanOrder extends Resource Text::make(__('Residence (passport)'), 'passport_address') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), Text::make(__('Current Residence'), 'real_address') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), ]), new Panel(__('Passport'), [ @@ -260,11 +260,11 @@ class LoanOrder extends Resource Text::make(__('Passport given by'), 'passport_given_by') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), Text::make(__('Born place (passport)'), 'born_place') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), ]), new Panel(__('Contact data'), [ @@ -293,7 +293,7 @@ class LoanOrder extends Resource new Panel(__('Job'), [ Text::make(__('Work company name'), 'work_company') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255') + ->rules('required', 'string', new DowranAgaAllowed, 'max:255') ->size('w-1/2'), NovaInputmask::make(__('HR department work number'), 'work_company_accountant_number') @@ -319,7 +319,7 @@ class LoanOrder extends Resource Text::make(__('Position'), 'work_position') ->size('w-1/2') - ->rules('required', 'string', new DowranAgaAllowed(), 'max:255'), + ->rules('required', 'string', new DowranAgaAllowed, 'max:255'), Text::make(__('Salary'), 'work_salary') ->size('w-1/4') @@ -379,7 +379,7 @@ class LoanOrder extends Resource RegionFilter::make() ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), - new StatusFilter(), + new StatusFilter, ]; } diff --git a/app/Nova/Resources/Order/Loan/LoanPaidOffLetterOrder.php b/app/Nova/Resources/Order/Loan/LoanPaidOffLetterOrder.php index 3b97a7a..22b9cc2 100644 --- a/app/Nova/Resources/Order/Loan/LoanPaidOffLetterOrder.php +++ b/app/Nova/Resources/Order/Loan/LoanPaidOffLetterOrder.php @@ -188,15 +188,15 @@ class LoanPaidOffLetterOrder extends Resource new Panel(__('Personal data'), [ Text::make(__('Name'), 'customer_name') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Surname'), 'customer_surname') ->size('w-1/3') - ->rules('required', 'string', new OnlyLetters(), 'max:255'), + ->rules('required', 'string', new OnlyLetters, 'max:255'), Text::make(__('Patronic name'), 'customer_patronic_name') ->size('w-1/3') - ->rules('nullable', 'string', new OnlyLetters(), 'max:255'), + ->rules('nullable', 'string', new OnlyLetters, 'max:255'), Select::make(__('Passport serie'), 'passport_serie') ->displayUsingLabels() @@ -264,7 +264,7 @@ class LoanPaidOffLetterOrder extends Resource RegionFilter::make() ->canSee(fn () => Gate::allows('isAdmin', auth()->user())), - new StatusFilter(), + new StatusFilter, ]; } diff --git a/app/Nova/Resources/Order/Loan/LoanType.php b/app/Nova/Resources/Order/Loan/LoanType.php index 018f720..66ebfec 100644 --- a/app/Nova/Resources/Order/Loan/LoanType.php +++ b/app/Nova/Resources/Order/Loan/LoanType.php @@ -93,7 +93,7 @@ class LoanType extends Resource public function filters(NovaRequest $request): array { return [ - new ActiveFilter(), + new ActiveFilter, ]; } diff --git a/app/Nova/Resources/System/Location/Province.php b/app/Nova/Resources/System/Location/Province.php index f6409a3..d302db3 100644 --- a/app/Nova/Resources/System/Location/Province.php +++ b/app/Nova/Resources/System/Location/Province.php @@ -100,8 +100,8 @@ class Province extends Resource public function filters(NovaRequest $request): array { return [ - new RegionFilter(), - new ActiveFilter(), + new RegionFilter, + new ActiveFilter, ]; } diff --git a/app/Providers/AuthServiceProvider.php b/app/Providers/AuthServiceProvider.php index 8bcc9d8..babc70b 100644 --- a/app/Providers/AuthServiceProvider.php +++ b/app/Providers/AuthServiceProvider.php @@ -75,6 +75,6 @@ class AuthServiceProvider extends ServiceProvider Gate::define('systemUser', fn ($user) => $user->isSystemUser()); // Tooling permissions... - Gate::define('viewPulse', fn ($user) => $user->isMe()); + Gate::define('viewPulse', fn ($user) => $user->isAdmin()); } } diff --git a/app/Providers/NovaServiceProvider.php b/app/Providers/NovaServiceProvider.php index bb23b9c..13b54fc 100644 --- a/app/Providers/NovaServiceProvider.php +++ b/app/Providers/NovaServiceProvider.php @@ -153,9 +153,7 @@ class NovaServiceProvider extends NovaApplicationServiceProvider */ public function setupFieldMacros(): void { - // @phpstan-ignore-next-line Date::macro('toTurkmenFormat', fn () => $this->displayUsing(fn ($value) => $value?->format('d.m.Y'))); - // @phpstan-ignore-next-line DateTime::macro('turkmenDateTime', fn () => $this->displayUsing(fn ($value) => $value?->format('H:i, d.m.Y'))); } } diff --git a/app/Repos/Branch/BranchRepo.php b/app/Repos/Branch/BranchRepo.php index a7d740c..95aa2cb 100644 --- a/app/Repos/Branch/BranchRepo.php +++ b/app/Repos/Branch/BranchRepo.php @@ -42,7 +42,7 @@ class BranchRepo */ public static function make(): self { - return new self(); + return new self; } /** diff --git a/app/Repos/System/Locale/LocaleManagerRepo.php b/app/Repos/System/Locale/LocaleManagerRepo.php index 4a0e7ef..6ff9d5b 100644 --- a/app/Repos/System/Locale/LocaleManagerRepo.php +++ b/app/Repos/System/Locale/LocaleManagerRepo.php @@ -38,7 +38,7 @@ class LocaleManagerRepo $this->localeAppUrl = config('app.locale_app.url'); $this->localeAppApiToken = config('app.locale_app.api_token'); - $this->fileSystem = new Filesystem(); + $this->fileSystem = new Filesystem; } /** @@ -46,7 +46,7 @@ class LocaleManagerRepo */ public static function make(): self { - return new self(); + return new self; } /** diff --git a/app/Repos/System/Location/ProvinceRepo.php b/app/Repos/System/Location/ProvinceRepo.php index fb9382d..e18876a 100644 --- a/app/Repos/System/Location/ProvinceRepo.php +++ b/app/Repos/System/Location/ProvinceRepo.php @@ -2,6 +2,4 @@ namespace App\Repos\System\Location; -class ProvinceRepo -{ -} +class ProvinceRepo {} diff --git a/app/Rules/PhoneCodeVerification.php b/app/Rules/PhoneCodeVerification.php index 865c706..467c381 100644 --- a/app/Rules/PhoneCodeVerification.php +++ b/app/Rules/PhoneCodeVerification.php @@ -10,9 +10,7 @@ class PhoneCodeVerification implements ValidationRule { public function __construct( protected int|string $phone, - ) { - - } + ) {} /** * Run the validation rule. diff --git a/composer.json b/composer.json index 567fed0..0889c31 100644 --- a/composer.json +++ b/composer.json @@ -13,10 +13,10 @@ "guzzlehttp/guzzle": "^7.2", "laravel/framework": "^10.10", "laravel/nova": "*", - "laravel/pulse": "^1.0@beta", + "laravel/pulse": "^1.0", "laravel/sanctum": "^3.3", "laravel/tinker": "^2.8", - "maantje/pulse-database": "^0.1.0", + "maantje/pulse-php-fpm": "^0.2.1", "morrislaptop/laravel-pulse-4xx": "^0.0.2", "nurmuhammet/nova-custom-html": "^1.0", "nurmuhammet/nova-inputmask": "^1.0", diff --git a/composer.lock b/composer.lock index ea03824..d2e6af9 100644 --- a/composer.lock +++ b/composer.lock @@ -4,29 +4,70 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "62ccda866adacb31ba0f1cd5e3300ea4", + "content-hash": "c41ff91bab26b1982794daf0e30a4ef9", "packages": [ { - "name": "brick/math", - "version": "0.11.0", + "name": "adoy/fastcgi-client", + "version": "1.0.2", "source": { "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" + "url": "https://github.com/adoy/PHP-FastCGI-Client.git", + "reference": "6d9a552f0206a1db7feb442824540aa6c55e5b27" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", + "url": "https://api.github.com/repos/adoy/PHP-FastCGI-Client/zipball/6d9a552f0206a1db7feb442824540aa6c55e5b27", + "reference": "6d9a552f0206a1db7feb442824540aa6c55e5b27", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-0": { + "Adoy\\FastCGI\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Pierrick Charron", + "email": "pierrick@adoy.net" + } + ], + "description": "Lightweight, single file FastCGI client for PHP.", + "keywords": [ + "fastcgi", + "fcgi" + ], + "support": { + "issues": "https://github.com/adoy/PHP-FastCGI-Client/issues", + "source": "https://github.com/adoy/PHP-FastCGI-Client/tree/master" + }, + "time": "2019-12-11T13:49:21+00:00" + }, + { + "name": "brick/math", + "version": "0.12.1", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "f510c0a40911935b77b86859eb5223d58d660df1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/f510c0a40911935b77b86859eb5223d58d660df1", + "reference": "f510c0a40911935b77b86859eb5223d58d660df1", "shasum": "" }, "require": { - "php": "^8.0" + "php": "^8.1" }, "require-dev": { "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^9.0", - "vimeo/psalm": "5.0.0" + "phpunit/phpunit": "^10.1", + "vimeo/psalm": "5.16.0" }, "type": "library", "autoload": { @@ -46,12 +87,17 @@ "arithmetic", "bigdecimal", "bignum", + "bignumber", "brick", - "math" + "decimal", + "integer", + "math", + "mathematics", + "rational" ], "support": { "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.11.0" + "source": "https://github.com/brick/math/tree/0.12.1" }, "funding": [ { @@ -59,34 +105,34 @@ "type": "github" } ], - "time": "2023-01-15T23:15:59+00:00" + "time": "2023-11-29T23:19:16+00:00" }, { "name": "brick/money", - "version": "0.8.1", + "version": "0.9.0", "source": { "type": "git", "url": "https://github.com/brick/money.git", - "reference": "25f484a347756b7f3fbe7ad63ed9ad2d87b20004" + "reference": "60f8b6ceab2e1c9527e625198a76498fa477804a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/brick/money/zipball/25f484a347756b7f3fbe7ad63ed9ad2d87b20004", - "reference": "25f484a347756b7f3fbe7ad63ed9ad2d87b20004", + "url": "https://api.github.com/repos/brick/money/zipball/60f8b6ceab2e1c9527e625198a76498fa477804a", + "reference": "60f8b6ceab2e1c9527e625198a76498fa477804a", "shasum": "" }, "require": { - "brick/math": "~0.10.1 || ~0.11.0", + "brick/math": "~0.12.0", "ext-json": "*", - "php": "^8.0" + "php": "^8.1" }, "require-dev": { "brick/varexporter": "~0.3.0", "ext-dom": "*", "ext-pdo": "*", "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^9.4.3", - "vimeo/psalm": "5.14.1" + "phpunit/phpunit": "^10.1", + "vimeo/psalm": "5.16.0" }, "suggest": { "ext-intl": "Required to format Money objects" @@ -109,7 +155,7 @@ ], "support": { "issues": "https://github.com/brick/money/issues", - "source": "https://github.com/brick/money/tree/0.8.1" + "source": "https://github.com/brick/money/tree/0.9.0" }, "funding": [ { @@ -117,7 +163,7 @@ "type": "github" } ], - "time": "2023-09-23T21:17:11+00:00" + "time": "2023-11-26T16:51:39+00:00" }, { "name": "carbonphp/carbon-doctrine-types", @@ -190,16 +236,16 @@ }, { "name": "composer/ca-bundle", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/composer/ca-bundle.git", - "reference": "0c5ccfcfea312b5c5a190a21ac5cef93f74baf99" + "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/0c5ccfcfea312b5c5a190a21ac5cef93f74baf99", - "reference": "0c5ccfcfea312b5c5a190a21ac5cef93f74baf99", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/063d9aa8696582f5a41dffbbaf3c81024f0a604a", + "reference": "063d9aa8696582f5a41dffbbaf3c81024f0a604a", "shasum": "" }, "require": { @@ -209,7 +255,7 @@ }, "require-dev": { "phpstan/phpstan": "^1.10", - "psr/log": "^1.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", "symfony/phpunit-bridge": "^4.2 || ^5", "symfony/process": "^4.0 || ^5.0 || ^6.0 || ^7.0" }, @@ -246,7 +292,7 @@ "support": { "irc": "irc://irc.freenode.org/composer", "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.5.0" + "source": "https://github.com/composer/ca-bundle/tree/1.5.1" }, "funding": [ { @@ -262,20 +308,20 @@ "type": "tidelift" } ], - "time": "2024-03-15T14:00:32+00:00" + "time": "2024-07-08T15:28:20+00:00" }, { "name": "composer/semver", - "version": "3.4.0", + "version": "3.4.2", "source": { "type": "git", "url": "https://github.com/composer/semver.git", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" + "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", + "url": "https://api.github.com/repos/composer/semver/zipball/c51258e759afdb17f1fd1fe83bc12baaef6309d6", + "reference": "c51258e759afdb17f1fd1fe83bc12baaef6309d6", "shasum": "" }, "require": { @@ -327,7 +373,7 @@ "support": { "irc": "ircs://irc.libera.chat:6697/composer", "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.0" + "source": "https://github.com/composer/semver/tree/3.4.2" }, "funding": [ { @@ -343,7 +389,7 @@ "type": "tidelift" } ], - "time": "2023-08-31T09:50:34+00:00" + "time": "2024-07-12T11:35:52+00:00" }, { "name": "denniseilander/pulse-about-application", @@ -412,16 +458,16 @@ }, { "name": "dflydev/dot-access-data", - "version": "v3.0.2", + "version": "v3.0.3", "source": { "type": "git", "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "f41715465d65213d644d3141a6a93081be5d3549" + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", - "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/a23a2bf4f31d3518f3ecb38660c95715dfead60f", + "reference": "a23a2bf4f31d3518f3ecb38660c95715dfead60f", "shasum": "" }, "require": { @@ -481,9 +527,9 @@ ], "support": { "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.3" }, - "time": "2022-10-27T11:44:00+00:00" + "time": "2024-07-08T12:26:09+00:00" }, { "name": "doctrine/cache", @@ -580,16 +626,16 @@ }, { "name": "doctrine/dbal", - "version": "3.8.4", + "version": "3.9.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "b05e48a745f722801f55408d0dbd8003b403dbbd" + "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/b05e48a745f722801f55408d0dbd8003b403dbbd", - "reference": "b05e48a745f722801f55408d0dbd8003b403dbbd", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/d8f68ea6cc00912e5313237130b8c8decf4d28c6", + "reference": "d8f68ea6cc00912e5313237130b8c8decf4d28c6", "shasum": "" }, "require": { @@ -605,12 +651,12 @@ "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.10.58", - "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.16", + "phpstan/phpstan": "1.11.7", + "phpstan/phpstan-strict-rules": "^1.6", + "phpunit/phpunit": "9.6.20", "psalm/plugin-phpunit": "0.18.4", "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.9.0", + "squizlabs/php_codesniffer": "3.10.2", "symfony/cache": "^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.4|^6.0|^7.0", "vimeo/psalm": "4.30.0" @@ -673,7 +719,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.8.4" + "source": "https://github.com/doctrine/dbal/tree/3.9.0" }, "funding": [ { @@ -689,7 +735,7 @@ "type": "tidelift" } ], - "time": "2024-04-25T07:04:44+00:00" + "time": "2024-08-15T07:34:42+00:00" }, { "name": "doctrine/deprecations", @@ -740,16 +786,16 @@ }, { "name": "doctrine/event-manager", - "version": "2.0.0", + "version": "2.0.1", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" + "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/b680156fa328f1dfd874fd48c7026c41570b9c6e", + "reference": "b680156fa328f1dfd874fd48c7026c41570b9c6e", "shasum": "" }, "require": { @@ -759,10 +805,10 @@ "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^10", + "doctrine/coding-standard": "^12", "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^4.28" + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" }, "type": "library", "autoload": { @@ -811,7 +857,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/2.0.0" + "source": "https://github.com/doctrine/event-manager/tree/2.0.1" }, "funding": [ { @@ -827,7 +873,7 @@ "type": "tidelift" } ], - "time": "2022-10-12T20:59:15+00:00" + "time": "2024-05-22T20:47:39+00:00" }, { "name": "doctrine/inflector", @@ -999,23 +1045,26 @@ }, { "name": "doctrine/sql-formatter", - "version": "1.2.0", + "version": "1.4.1", "source": { "type": "git", "url": "https://github.com/doctrine/sql-formatter.git", - "reference": "a321d114e0a18e6497f8a2cd6f890e000cc17ecc" + "reference": "7f83911cc5eba870de7ebb11283972483f7e2891" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/a321d114e0a18e6497f8a2cd6f890e000cc17ecc", - "reference": "a321d114e0a18e6497f8a2cd6f890e000cc17ecc", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/7f83911cc5eba870de7ebb11283972483f7e2891", + "reference": "7f83911cc5eba870de7ebb11283972483f7e2891", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.4" + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" }, "bin": [ "bin/sql-formatter" @@ -1045,9 +1094,9 @@ ], "support": { "issues": "https://github.com/doctrine/sql-formatter/issues", - "source": "https://github.com/doctrine/sql-formatter/tree/1.2.0" + "source": "https://github.com/doctrine/sql-formatter/tree/1.4.1" }, - "time": "2023-08-16T21:49:04+00:00" + "time": "2024-08-05T20:32:22+00:00" }, { "name": "dragonmantank/cron-expression", @@ -1483,24 +1532,24 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.1.2", + "version": "v1.1.3", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/3ba905c11371512af9d9bdd27d99b782216b6945", + "reference": "3ba905c11371512af9d9bdd27d99b782216b6945", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2" + "phpoption/phpoption": "^1.9.3" }, "require-dev": { - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" }, "type": "library", "autoload": { @@ -1529,7 +1578,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.3" }, "funding": [ { @@ -1541,26 +1590,26 @@ "type": "tidelift" } ], - "time": "2023-11-12T22:16:48+00:00" + "time": "2024-07-20T21:45:45+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.8.1", + "version": "7.9.2", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + "reference": "d281ed313b989f213357e3be1a179f02196ac99b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/d281ed313b989f213357e3be1a179f02196ac99b", + "reference": "d281ed313b989f213357e3be1a179f02196ac99b", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "guzzlehttp/promises": "^1.5.3 || ^2.0.3", + "guzzlehttp/psr7": "^2.7.0", "php": "^7.2.5 || ^8.0", "psr/http-client": "^1.0", "symfony/deprecation-contracts": "^2.2 || ^3.0" @@ -1571,9 +1620,9 @@ "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "guzzle/client-integration-tests": "3.0.2", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "phpunit/phpunit": "^8.5.39 || ^9.6.20", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -1651,7 +1700,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + "source": "https://github.com/guzzle/guzzle/tree/7.9.2" }, "funding": [ { @@ -1667,20 +1716,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:35:24+00:00" + "time": "2024-07-24T11:22:20+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "url": "https://api.github.com/repos/guzzle/promises/zipball/6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", + "reference": "6ea8dd08867a2a42619d65c3deb2c0fcbf81c8f8", "shasum": "" }, "require": { @@ -1688,7 +1737,7 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "type": "library", "extra": { @@ -1734,7 +1783,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" + "source": "https://github.com/guzzle/promises/tree/2.0.3" }, "funding": [ { @@ -1750,20 +1799,20 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:19:20+00:00" + "time": "2024-07-18T10:29:17+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.2", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201", + "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201", "shasum": "" }, "require": { @@ -1778,8 +1827,8 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" + "http-interop/http-factory-tests": "0.9.0", + "phpunit/phpunit": "^8.5.39 || ^9.6.20" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -1850,7 +1899,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" + "source": "https://github.com/guzzle/psr7/tree/2.7.0" }, "funding": [ { @@ -1866,7 +1915,7 @@ "type": "tidelift" } ], - "time": "2023-12-03T20:05:35+00:00" + "time": "2024-07-18T11:15:46+00:00" }, { "name": "guzzlehttp/uri-template", @@ -2025,27 +2074,28 @@ }, { "name": "inertiajs/inertia-laravel", - "version": "v0.6.11", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/inertiajs/inertia-laravel.git", - "reference": "2a1e19048f95c0e4adb2b2733f9119e49c4fc09f" + "reference": "36730d13b1dab9017069004fd458b3e67449a326" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/inertiajs/inertia-laravel/zipball/2a1e19048f95c0e4adb2b2733f9119e49c4fc09f", - "reference": "2a1e19048f95c0e4adb2b2733f9119e49c4fc09f", + "url": "https://api.github.com/repos/inertiajs/inertia-laravel/zipball/36730d13b1dab9017069004fd458b3e67449a326", + "reference": "36730d13b1dab9017069004fd458b3e67449a326", "shasum": "" }, "require": { "ext-json": "*", - "laravel/framework": "^6.0|^7.0|^8.74|^9.0|^10.0", - "php": "^7.2|~8.0.0|~8.1.0|~8.2.0|~8.3.0" + "laravel/framework": "^8.74|^9.0|^10.0|^11.0", + "php": "^7.3|~8.0.0|~8.1.0|~8.2.0|~8.3.0", + "symfony/console": "^5.3|^6.0|^7.0" }, "require-dev": { "mockery/mockery": "^1.3.3", - "orchestra/testbench": "^4.0|^5.0|^6.4|^7.0|^8.0", - "phpunit/phpunit": "^8.0|^9.5.8", + "orchestra/testbench": "^6.4|^7.0|^8.0|^9.0", + "phpunit/phpunit": "^8.0|^9.5.8|^10.4", "roave/security-advisories": "dev-master" }, "suggest": { @@ -2057,6 +2107,9 @@ "providers": [ "Inertia\\ServiceProvider" ] + }, + "branch-alias": { + "dev-master": "1.x-dev" } }, "autoload": { @@ -2085,7 +2138,7 @@ ], "support": { "issues": "https://github.com/inertiajs/inertia-laravel/issues", - "source": "https://github.com/inertiajs/inertia-laravel/tree/v0.6.11" + "source": "https://github.com/inertiajs/inertia-laravel/tree/v1.3.0" }, "funding": [ { @@ -2093,20 +2146,20 @@ "type": "github" } ], - "time": "2023-10-27T10:59:02+00:00" + "time": "2024-06-13T01:25:09+00:00" }, { "name": "laravel/framework", - "version": "v10.48.10", + "version": "v10.48.20", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "91e2b9e218afa4e5c377510faa11957042831ba3" + "reference": "be2be342d4c74db6a8d2bd18469cd6d488ab9c98" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/91e2b9e218afa4e5c377510faa11957042831ba3", - "reference": "91e2b9e218afa4e5c377510faa11957042831ba3", + "url": "https://api.github.com/repos/laravel/framework/zipball/be2be342d4c74db6a8d2bd18469cd6d488ab9c98", + "reference": "be2be342d4c74db6a8d2bd18469cd6d488ab9c98", "shasum": "" }, "require": { @@ -2300,41 +2353,41 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2024-04-30T12:52:59+00:00" + "time": "2024-08-09T07:55:45+00:00" }, { "name": "laravel/nova", - "version": "4.31.3", + "version": "4.35.0", "dist": { "type": "path", "url": "./nova", - "reference": "f4a55115ca40a73cb567fbc390beba7f6824f3cf" + "reference": "a41a94d8860320ab6efae4725f33b9339c43d232" }, "require": { - "brick/money": "^0.5.0|^0.6.0|^0.7.0|^0.8.0", - "doctrine/dbal": "^2.13.3|^3.1.2", + "brick/money": "^0.5|^0.6|^0.7|^0.8|^0.9", + "doctrine/dbal": "^2.13.3|^3.1.2|^4.0", "ext-json": "*", - "illuminate/support": "^8.83.4|^9.3.1|^10.0", - "inertiajs/inertia-laravel": "^0.4.5|^0.5.2|^0.6.0", + "illuminate/support": "^8.83.4|^9.3.1|^10.0|^11.0", + "inertiajs/inertia-laravel": "^0.4.5|^0.5.2|^0.6.0|^1.0", "laravel/ui": "^3.3|^4.0", - "nesbot/carbon": "^2.53.1", + "nesbot/carbon": "^2.53.1|^3.0", "php": "^7.3|^8.0", "rap2hpoutre/fast-excel": "^3.2|^4.1|^5.0", "spatie/once": "^1.1|^2.0|^3.0", - "symfony/console": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", "symfony/polyfill-intl-icu": "^1.22.1", - "symfony/process": "^5.4|^6.0" + "symfony/process": "^5.4|^6.0|^7.0" }, "require-dev": { - "laravel/nova-dusk-suite": "8.4.x-dev|9.4.x-dev|10.4.x-dev", + "larastan/larastan": "^1.0.1|^2.5.1", + "laravel/nova-dusk-suite": "8.4.x-dev|9.4.x-dev|10.4.x-dev|11.4.x-dev", "laravel/pint": "^1.6", "laravel/scout": "^9.8|^10.0", "mockery/mockery": "^1.4.4", - "nunomaduro/larastan": "^1.0.1|^2.5.1", - "orchestra/testbench-dusk": "^6.24|^7.21|^8.0", - "phpunit/phpunit": "^9.6|^10.1", - "predis/predis": "^1.1.9|^2.0" + "orchestra/testbench-dusk": "^6.44|^7.40|^8.22|^9.0", + "phpunit/phpunit": "^9.6|^10.5", + "predis/predis": "^1.1.9|^2.0.2" }, "suggest": { "ext-intl": "Required to format Currency field" @@ -2423,16 +2476,16 @@ }, { "name": "laravel/pint", - "version": "v1.15.3", + "version": "v1.17.2", "source": { "type": "git", "url": "https://github.com/laravel/pint.git", - "reference": "3600b5d17aff52f6100ea4921849deacbbeb8656" + "reference": "e8a88130a25e3f9d4d5785e6a1afca98268ab110" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pint/zipball/3600b5d17aff52f6100ea4921849deacbbeb8656", - "reference": "3600b5d17aff52f6100ea4921849deacbbeb8656", + "url": "https://api.github.com/repos/laravel/pint/zipball/e8a88130a25e3f9d4d5785e6a1afca98268ab110", + "reference": "e8a88130a25e3f9d4d5785e6a1afca98268ab110", "shasum": "" }, "require": { @@ -2443,13 +2496,13 @@ "php": "^8.1.0" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^3.54.0", - "illuminate/view": "^10.48.8", - "larastan/larastan": "^2.9.5", - "laravel-zero/framework": "^10.3.0", - "mockery/mockery": "^1.6.11", + "friendsofphp/php-cs-fixer": "^3.61.1", + "illuminate/view": "^10.48.18", + "larastan/larastan": "^2.9.8", + "laravel-zero/framework": "^10.4.0", + "mockery/mockery": "^1.6.12", "nunomaduro/termwind": "^1.15.1", - "pestphp/pest": "^2.34.7" + "pestphp/pest": "^2.35.0" }, "bin": [ "builds/pint" @@ -2485,20 +2538,20 @@ "issues": "https://github.com/laravel/pint/issues", "source": "https://github.com/laravel/pint" }, - "time": "2024-04-30T15:02:26+00:00" + "time": "2024-08-06T15:11:54+00:00" }, { "name": "laravel/prompts", - "version": "v0.1.21", + "version": "v0.1.25", "source": { "type": "git", "url": "https://github.com/laravel/prompts.git", - "reference": "23ea808e8a145653e0ab29e30d4385e49f40a920" + "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/23ea808e8a145653e0ab29e30d4385e49f40a920", - "reference": "23ea808e8a145653e0ab29e30d4385e49f40a920", + "url": "https://api.github.com/repos/laravel/prompts/zipball/7b4029a84c37cb2725fc7f011586e2997040bc95", + "reference": "7b4029a84c37cb2725fc7f011586e2997040bc95", "shasum": "" }, "require": { @@ -2541,26 +2594,26 @@ "description": "Add beautiful and user-friendly forms to your command-line applications.", "support": { "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.21" + "source": "https://github.com/laravel/prompts/tree/v0.1.25" }, - "time": "2024-04-30T12:46:16+00:00" + "time": "2024-08-12T22:06:33+00:00" }, { "name": "laravel/pulse", - "version": "v1.0.0", + "version": "v1.2.4", "source": { "type": "git", "url": "https://github.com/laravel/pulse.git", - "reference": "37fc7512d01de7e59b0ae9634c638849d98c3fca" + "reference": "2e7699a602e13bada4c64e3bc7c148ddcaec81bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/pulse/zipball/37fc7512d01de7e59b0ae9634c638849d98c3fca", - "reference": "37fc7512d01de7e59b0ae9634c638849d98c3fca", + "url": "https://api.github.com/repos/laravel/pulse/zipball/2e7699a602e13bada4c64e3bc7c148ddcaec81bc", + "reference": "2e7699a602e13bada4c64e3bc7c148ddcaec81bc", "shasum": "" }, "require": { - "doctrine/sql-formatter": "^1.1", + "doctrine/sql-formatter": "^1.2", "guzzlehttp/promises": "^1.0|^2.0", "illuminate/auth": "^10.48.4|^11.0.8", "illuminate/cache": "^10.48.4|^11.0.8", @@ -2630,7 +2683,7 @@ "issues": "https://github.com/laravel/pulse/issues", "source": "https://github.com/laravel/pulse" }, - "time": "2024-04-30T14:43:29+00:00" + "time": "2024-07-08T15:09:50+00:00" }, { "name": "laravel/sanctum", @@ -2700,26 +2753,27 @@ }, { "name": "laravel/serializable-closure", - "version": "v1.3.3", + "version": "v1.3.4", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + "reference": "61b87392d986dc49ad5ef64e75b1ff5fee24ef81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", - "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/61b87392d986dc49ad5ef64e75b1ff5fee24ef81", + "reference": "61b87392d986dc49ad5ef64e75b1ff5fee24ef81", "shasum": "" }, "require": { "php": "^7.3|^8.0" }, "require-dev": { - "nesbot/carbon": "^2.61", + "illuminate/support": "^8.0|^9.0|^10.0|^11.0", + "nesbot/carbon": "^2.61|^3.0", "pestphp/pest": "^1.21.3", "phpstan/phpstan": "^1.8.2", - "symfony/var-dumper": "^5.4.11" + "symfony/var-dumper": "^5.4.11|^6.2.0|^7.0.0" }, "type": "library", "extra": { @@ -2756,7 +2810,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2023-11-08T14:08:06+00:00" + "time": "2024-08-02T07:48:17+00:00" }, { "name": "laravel/tinker", @@ -2826,16 +2880,16 @@ }, { "name": "laravel/ui", - "version": "v4.5.1", + "version": "v4.5.2", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "a3562953123946996a503159199d6742d5534e61" + "reference": "c75396f63268c95b053c8e4814eb70e0875e9628" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/a3562953123946996a503159199d6742d5534e61", - "reference": "a3562953123946996a503159199d6742d5534e61", + "url": "https://api.github.com/repos/laravel/ui/zipball/c75396f63268c95b053c8e4814eb70e0875e9628", + "reference": "c75396f63268c95b053c8e4814eb70e0875e9628", "shasum": "" }, "require": { @@ -2883,22 +2937,22 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v4.5.1" + "source": "https://github.com/laravel/ui/tree/v4.5.2" }, - "time": "2024-03-21T18:12:29+00:00" + "time": "2024-05-08T18:07:10+00:00" }, { "name": "league/commonmark", - "version": "2.4.2", + "version": "2.5.3", "source": { "type": "git", "url": "https://github.com/thephpleague/commonmark.git", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf" + "reference": "b650144166dfa7703e62a22e493b853b58d874b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/91c24291965bd6d7c46c46a12ba7492f83b1cadf", - "reference": "91c24291965bd6d7c46c46a12ba7492f83b1cadf", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/b650144166dfa7703e62a22e493b853b58d874b0", + "reference": "b650144166dfa7703e62a22e493b853b58d874b0", "shasum": "" }, "require": { @@ -2911,8 +2965,8 @@ }, "require-dev": { "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.3", - "commonmark/commonmark.js": "0.30.0", + "commonmark/cmark": "0.31.1", + "commonmark/commonmark.js": "0.31.1", "composer/package-versions-deprecated": "^1.8", "embed/embed": "^4.4", "erusev/parsedown": "^1.0", @@ -2934,7 +2988,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "2.5-dev" + "dev-main": "2.6-dev" } }, "autoload": { @@ -2991,7 +3045,7 @@ "type": "tidelift" } ], - "time": "2024-02-02T11:59:32+00:00" + "time": "2024-08-16T11:46:16+00:00" }, { "name": "league/config", @@ -3077,16 +3131,16 @@ }, { "name": "league/flysystem", - "version": "3.27.0", + "version": "3.28.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem.git", - "reference": "4729745b1ab737908c7d055148c9a6b3e959832f" + "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4729745b1ab737908c7d055148c9a6b3e959832f", - "reference": "4729745b1ab737908c7d055148c9a6b3e959832f", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", + "reference": "e611adab2b1ae2e3072fa72d62c62f52c2bf1f0c", "shasum": "" }, "require": { @@ -3110,10 +3164,13 @@ "composer/semver": "^3.0", "ext-fileinfo": "*", "ext-ftp": "*", + "ext-mongodb": "^1.3", "ext-zip": "*", "friendsofphp/php-cs-fixer": "^3.5", "google/cloud-storage": "^1.23", + "guzzlehttp/psr7": "^2.6", "microsoft/azure-storage-blob": "^1.1", + "mongodb/mongodb": "^1.2", "phpseclib/phpseclib": "^3.0.36", "phpstan/phpstan": "^1.10", "phpunit/phpunit": "^9.5.11|^10.0", @@ -3151,32 +3208,22 @@ ], "support": { "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.27.0" + "source": "https://github.com/thephpleague/flysystem/tree/3.28.0" }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2024-04-07T19:17:50+00:00" + "time": "2024-05-22T10:09:12+00:00" }, { "name": "league/flysystem-local", - "version": "3.25.1", + "version": "3.28.0", "source": { "type": "git", "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92" + "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/61a6a90d6e999e4ddd9ce5adb356de0939060b92", - "reference": "61a6a90d6e999e4ddd9ce5adb356de0939060b92", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/13f22ea8be526ea58c2ddff9e158ef7c296e4f40", + "reference": "13f22ea8be526ea58c2ddff9e158ef7c296e4f40", "shasum": "" }, "require": { @@ -3210,19 +3257,9 @@ "local" ], "support": { - "source": "https://github.com/thephpleague/flysystem-local/tree/3.25.1" + "source": "https://github.com/thephpleague/flysystem-local/tree/3.28.0" }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2024-03-15T19:58:44+00:00" + "time": "2024-05-06T20:05:52+00:00" }, { "name": "league/mime-type-detection", @@ -3282,16 +3319,16 @@ }, { "name": "livewire/livewire", - "version": "v3.4.12", + "version": "v3.5.6", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "54dd265c17f7b5200627eb9690590e7cbbad1027" + "reference": "597a2808d8d3001cc3ed5ce89a6ebab00f83b80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/54dd265c17f7b5200627eb9690590e7cbbad1027", - "reference": "54dd265c17f7b5200627eb9690590e7cbbad1027", + "url": "https://api.github.com/repos/livewire/livewire/zipball/597a2808d8d3001cc3ed5ce89a6ebab00f83b80f", + "reference": "597a2808d8d3001cc3ed5ce89a6ebab00f83b80f", "shasum": "" }, "require": { @@ -3299,6 +3336,7 @@ "illuminate/routing": "^10.0|^11.0", "illuminate/support": "^10.0|^11.0", "illuminate/validation": "^10.0|^11.0", + "laravel/prompts": "^0.1.24", "league/mime-type-detection": "^1.9", "php": "^8.1", "symfony/console": "^6.0|^7.0", @@ -3307,7 +3345,6 @@ "require-dev": { "calebporzio/sushi": "^2.1", "laravel/framework": "^10.15.0|^11.0", - "laravel/prompts": "^0.1.6", "mockery/mockery": "^1.3.1", "orchestra/testbench": "^8.21.0|^9.0", "orchestra/testbench-dusk": "^8.24|^9.1", @@ -3346,7 +3383,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v3.4.12" + "source": "https://github.com/livewire/livewire/tree/v3.5.6" }, "funding": [ { @@ -3354,23 +3391,24 @@ "type": "github" } ], - "time": "2024-05-02T17:10:37+00:00" + "time": "2024-08-19T11:52:18+00:00" }, { - "name": "maantje/pulse-database", - "version": "v0.1.0", + "name": "maantje/pulse-php-fpm", + "version": "v0.2.1", "source": { "type": "git", - "url": "https://github.com/maantje/pulse-database.git", - "reference": "ec5408a4357923294412d3d12dd86951e19ec60f" + "url": "https://github.com/maantje/pulse-php-fpm.git", + "reference": "c8d53dc9fd31ba45c02552c36eff518bfffa840f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maantje/pulse-database/zipball/ec5408a4357923294412d3d12dd86951e19ec60f", - "reference": "ec5408a4357923294412d3d12dd86951e19ec60f", + "url": "https://api.github.com/repos/maantje/pulse-php-fpm/zipball/c8d53dc9fd31ba45c02552c36eff518bfffa840f", + "reference": "c8d53dc9fd31ba45c02552c36eff518bfffa840f", "shasum": "" }, "require": { + "adoy/fastcgi-client": "^1.0", "illuminate/support": "*", "laravel/pulse": "^1.0.0@beta", "php": "^8.1" @@ -3384,13 +3422,13 @@ "extra": { "laravel": { "providers": [ - "Maantje\\Pulse\\Database\\DatabaseServiceProvider" + "Maantje\\Pulse\\PhpFpm\\PhpFpmServiceProvider" ] } }, "autoload": { "psr-4": { - "Maantje\\Pulse\\Database\\": "src/" + "Maantje\\Pulse\\PhpFpm\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -3403,12 +3441,12 @@ "email": "j4mie@hey.com" } ], - "description": "A Laravel Pulse card for database status", + "description": "A Laravel Pulse card to show php-fpm status", "support": { - "issues": "https://github.com/maantje/pulse-database/issues", - "source": "https://github.com/maantje/pulse-database/tree/v0.1.0" + "issues": "https://github.com/maantje/pulse-php-fpm/issues", + "source": "https://github.com/maantje/pulse-php-fpm/tree/v0.2.1" }, - "time": "2023-12-10T21:55:46+00:00" + "time": "2023-12-10T19:26:23+00:00" }, { "name": "maennchen/zipstream-php", @@ -3609,16 +3647,16 @@ }, { "name": "monolog/monolog", - "version": "3.6.0", + "version": "3.7.0", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654" + "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", - "reference": "4b18b21a5527a3d5ffdac2fd35d3ab25a9597654", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/f4393b648b78a5408747de94fca38beb5f7e9ef8", + "reference": "f4393b648b78a5408747de94fca38beb5f7e9ef8", "shasum": "" }, "require": { @@ -3694,7 +3732,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.6.0" + "source": "https://github.com/Seldaek/monolog/tree/3.7.0" }, "funding": [ { @@ -3706,7 +3744,7 @@ "type": "tidelift" } ], - "time": "2024-04-12T21:02:21+00:00" + "time": "2024-06-28T09:40:51+00:00" }, { "name": "morrislaptop/laravel-pulse-4xx", @@ -3784,16 +3822,16 @@ }, { "name": "nesbot/carbon", - "version": "2.72.3", + "version": "2.72.5", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83" + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/0c6fd108360c562f6e4fd1dedb8233b423e91c83", - "reference": "0c6fd108360c562f6e4fd1dedb8233b423e91c83", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/afd46589c216118ecd48ff2b95d77596af1e57ed", + "reference": "afd46589c216118ecd48ff2b95d77596af1e57ed", "shasum": "" }, "require": { @@ -3827,8 +3865,8 @@ "type": "library", "extra": { "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" + "dev-master": "3.x-dev", + "dev-2.x": "2.x-dev" }, "laravel": { "providers": [ @@ -3887,7 +3925,7 @@ "type": "tidelift" } ], - "time": "2024-01-25T10:35:09+00:00" + "time": "2024-06-03T19:18:41+00:00" }, { "name": "nette/schema", @@ -3953,20 +3991,20 @@ }, { "name": "nette/utils", - "version": "v4.0.4", + "version": "v4.0.5", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" + "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", - "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "url": "https://api.github.com/repos/nette/utils/zipball/736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", + "reference": "736c567e257dbe0fcf6ce81b4d6dbe05c6899f96", "shasum": "" }, "require": { - "php": ">=8.0 <8.4" + "php": "8.0 - 8.4" }, "conflict": { "nette/finder": "<3", @@ -4033,22 +4071,22 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v4.0.4" + "source": "https://github.com/nette/utils/tree/v4.0.5" }, - "time": "2024-01-17T16:50:36+00:00" + "time": "2024-08-07T15:39:19+00:00" }, { "name": "nikic/php-parser", - "version": "v5.0.2", + "version": "v5.1.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/683130c2ff8c2739f4822ff7ac5c873ec529abd1", + "reference": "683130c2ff8c2739f4822ff7ac5c873ec529abd1", "shasum": "" }, "require": { @@ -4059,7 +4097,7 @@ }, "require-dev": { "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + "phpunit/phpunit": "^9.0" }, "bin": [ "bin/php-parse" @@ -4091,34 +4129,37 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + "source": "https://github.com/nikic/PHP-Parser/tree/v5.1.0" }, - "time": "2024-03-05T20:51:40+00:00" + "time": "2024-07-01T20:03:41+00:00" }, { "name": "nova-kit/nova-packages-tool", - "version": "v1.14.5", + "version": "v1.17.0", "source": { "type": "git", "url": "https://github.com/nova-kit/nova-packages-tool.git", - "reference": "a4dbe0133f9f6c9e0c31ad43f53eced7e0366804" + "reference": "2f89083ea471f1ecaebd8dc54260c9a2ddd50b4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nova-kit/nova-packages-tool/zipball/a4dbe0133f9f6c9e0c31ad43f53eced7e0366804", - "reference": "a4dbe0133f9f6c9e0c31ad43f53eced7e0366804", + "url": "https://api.github.com/repos/nova-kit/nova-packages-tool/zipball/2f89083ea471f1ecaebd8dc54260c9a2ddd50b4d", + "reference": "2f89083ea471f1ecaebd8dc54260c9a2ddd50b4d", "shasum": "" }, "require": { - "laravel/nova": ">=4.28.6 <4.33.0", + "laravel/nova": ">=4.35.0 <4.36.0", "php": "^7.3 || ^8.0" }, "require-dev": { "nova-kit/nova-devtool": "^1.3", - "orchestra/testbench": "^6.35 || ^7.29 || ^8.9" + "orchestra/testbench": "^6.35 || ^7.29 || ^8.9 || ^9.0" }, "type": "library", "extra": { + "branch-alias": { + "dev-develop": "2.x-dev" + }, "laravel": { "providers": [ "NovaKit\\NovaPackagesTool\\LaravelServiceProvider" @@ -4142,9 +4183,9 @@ ], "description": "Tool for Laravel Nova Packages Development", "support": { - "source": "https://github.com/nova-kit/nova-packages-tool/tree/v1.14.5" + "source": "https://github.com/nova-kit/nova-packages-tool/tree/v1.17.0" }, - "time": "2023-12-06T21:59:29+00:00" + "time": "2024-08-06T14:29:02+00:00" }, { "name": "nunomaduro/termwind", @@ -4326,16 +4367,16 @@ }, { "name": "openspout/openspout", - "version": "v4.23.0", + "version": "v4.24.5", "source": { "type": "git", "url": "https://github.com/openspout/openspout.git", - "reference": "28f6a0e45acc3377f34c26cc3866e21f0447e0c8" + "reference": "393299ae21153f042f48b185f2adeb4b157d1d93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openspout/openspout/zipball/28f6a0e45acc3377f34c26cc3866e21f0447e0c8", - "reference": "28f6a0e45acc3377f34c26cc3866e21f0447e0c8", + "url": "https://api.github.com/repos/openspout/openspout/zipball/393299ae21153f042f48b185f2adeb4b157d1d93", + "reference": "393299ae21153f042f48b185f2adeb4b157d1d93", "shasum": "" }, "require": { @@ -4349,13 +4390,13 @@ }, "require-dev": { "ext-zlib": "*", - "friendsofphp/php-cs-fixer": "^3.46.0", - "infection/infection": "^0.27.9", - "phpbench/phpbench": "^1.2.15", - "phpstan/phpstan": "^1.10.55", - "phpstan/phpstan-phpunit": "^1.3.15", - "phpstan/phpstan-strict-rules": "^1.5.2", - "phpunit/phpunit": "^10.5.5" + "friendsofphp/php-cs-fixer": "^3.60.0", + "infection/infection": "^0.29.6", + "phpbench/phpbench": "^1.3.1", + "phpstan/phpstan": "^1.11.8", + "phpstan/phpstan-phpunit": "^1.4.0", + "phpstan/phpstan-strict-rules": "^1.6.0", + "phpunit/phpunit": "^10.5.20 || ^11.2.8" }, "suggest": { "ext-iconv": "To handle non UTF-8 CSV files (if \"php-mbstring\" is not already installed or is too limited)", @@ -4403,7 +4444,7 @@ ], "support": { "issues": "https://github.com/openspout/openspout/issues", - "source": "https://github.com/openspout/openspout/tree/v4.23.0" + "source": "https://github.com/openspout/openspout/tree/v4.24.5" }, "funding": [ { @@ -4415,7 +4456,7 @@ "type": "github" } ], - "time": "2024-01-09T09:30:37+00:00" + "time": "2024-07-26T05:48:04+00:00" }, { "name": "outl1ne/nova-grid", @@ -4636,16 +4677,16 @@ }, { "name": "phpoption/phpoption", - "version": "1.9.2", + "version": "1.9.3", "source": { "type": "git", "url": "https://github.com/schmittjoh/php-option.git", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/e3fac8b24f56113f7cb96af14958c0dd16330f54", + "reference": "e3fac8b24f56113f7cb96af14958c0dd16330f54", "shasum": "" }, "require": { @@ -4653,13 +4694,13 @@ }, "require-dev": { "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + "phpunit/phpunit": "^8.5.39 || ^9.6.20 || ^10.5.28" }, "type": "library", "extra": { "bamarni-bin": { "bin-links": true, - "forward-command": true + "forward-command": false }, "branch-alias": { "dev-master": "1.9-dev" @@ -4695,7 +4736,7 @@ ], "support": { "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" + "source": "https://github.com/schmittjoh/php-option/tree/1.9.3" }, "funding": [ { @@ -4707,7 +4748,7 @@ "type": "tidelift" } ], - "time": "2023-11-12T21:59:55+00:00" + "time": "2024-07-20T21:41:07+00:00" }, { "name": "psr/cache", @@ -4963,20 +5004,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -5000,7 +5041,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -5012,9 +5053,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -5071,16 +5112,16 @@ }, { "name": "psr/log", - "version": "3.0.0", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "reference": "79dff0b268932c640297f5208d6298f71855c03e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/php-fig/log/zipball/79dff0b268932c640297f5208d6298f71855c03e", + "reference": "79dff0b268932c640297f5208d6298f71855c03e", "shasum": "" }, "require": { @@ -5115,9 +5156,9 @@ "psr-3" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "source": "https://github.com/php-fig/log/tree/3.0.1" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2024-08-21T13:31:24+00:00" }, { "name": "psr/simple-cache", @@ -5172,16 +5213,16 @@ }, { "name": "psy/psysh", - "version": "v0.12.3", + "version": "v0.12.4", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73" + "reference": "2fd717afa05341b4f8152547f142cd2f130f6818" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", - "reference": "b6b6cce7d3ee8fbf31843edce5e8f5a72eff4a73", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/2fd717afa05341b4f8152547f142cd2f130f6818", + "reference": "2fd717afa05341b4f8152547f142cd2f130f6818", "shasum": "" }, "require": { @@ -5245,9 +5286,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.12.3" + "source": "https://github.com/bobthecow/psysh/tree/v0.12.4" }, - "time": "2024-04-02T15:57:53+00:00" + "time": "2024-06-10T01:18:23+00:00" }, { "name": "ralouphie/getallheaders", @@ -5476,21 +5517,21 @@ }, { "name": "rap2hpoutre/fast-excel", - "version": "v5.4.0", + "version": "v5.5.0", "source": { "type": "git", "url": "https://github.com/rap2hpoutre/fast-excel.git", - "reference": "27c346ca2a4de448f856d0926b05d7e2511e43b8" + "reference": "83604f2a16fbb0374747299173abe691b24916da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rap2hpoutre/fast-excel/zipball/27c346ca2a4de448f856d0926b05d7e2511e43b8", - "reference": "27c346ca2a4de448f856d0926b05d7e2511e43b8", + "url": "https://api.github.com/repos/rap2hpoutre/fast-excel/zipball/83604f2a16fbb0374747299173abe691b24916da", + "reference": "83604f2a16fbb0374747299173abe691b24916da", "shasum": "" }, "require": { "illuminate/support": "^6.0 || ^7.0 || ^8.0 || ^9.0 || ^10.0 || ^11.0", - "openspout/openspout": "^4.1.1", + "openspout/openspout": "^4.24", "php": "^8.0" }, "require-dev": { @@ -5534,7 +5575,7 @@ ], "support": { "issues": "https://github.com/rap2hpoutre/fast-excel/issues", - "source": "https://github.com/rap2hpoutre/fast-excel/tree/v5.4.0" + "source": "https://github.com/rap2hpoutre/fast-excel/tree/v5.5.0" }, "funding": [ { @@ -5542,7 +5583,7 @@ "type": "github" } ], - "time": "2024-03-06T16:03:49+00:00" + "time": "2024-06-03T08:00:43+00:00" }, { "name": "spatie/db-dumper", @@ -5736,16 +5777,16 @@ }, { "name": "spatie/laravel-backup", - "version": "8.8.0", + "version": "8.8.2", "source": { "type": "git", "url": "https://github.com/spatie/laravel-backup.git", - "reference": "7e74431fc5c46319a27daa44897df1c7bf4afe5a" + "reference": "5b672713283703a74c629ccd67b1d77eb57e24b9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/7e74431fc5c46319a27daa44897df1c7bf4afe5a", - "reference": "7e74431fc5c46319a27daa44897df1c7bf4afe5a", + "url": "https://api.github.com/repos/spatie/laravel-backup/zipball/5b672713283703a74c629ccd67b1d77eb57e24b9", + "reference": "5b672713283703a74c629ccd67b1d77eb57e24b9", "shasum": "" }, "require": { @@ -5819,7 +5860,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-backup/issues", - "source": "https://github.com/spatie/laravel-backup/tree/8.8.0" + "source": "https://github.com/spatie/laravel-backup/tree/8.8.2" }, "funding": [ { @@ -5831,7 +5872,7 @@ "type": "other" } ], - "time": "2024-05-02T13:09:01+00:00" + "time": "2024-08-07T11:07:52+00:00" }, { "name": "spatie/laravel-medialibrary", @@ -5944,16 +5985,16 @@ }, { "name": "spatie/laravel-package-tools", - "version": "1.16.4", + "version": "1.16.5", "source": { "type": "git", "url": "https://github.com/spatie/laravel-package-tools.git", - "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53" + "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", - "reference": "ddf678e78d7f8b17e5cdd99c0c3413a4a6592e53", + "url": "https://api.github.com/repos/spatie/laravel-package-tools/zipball/c7413972cf22ffdff97b68499c22baa04eddb6a2", + "reference": "c7413972cf22ffdff97b68499c22baa04eddb6a2", "shasum": "" }, "require": { @@ -5992,7 +6033,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-package-tools/issues", - "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.4" + "source": "https://github.com/spatie/laravel-package-tools/tree/1.16.5" }, "funding": [ { @@ -6000,20 +6041,20 @@ "type": "github" } ], - "time": "2024-03-20T07:29:11+00:00" + "time": "2024-08-27T18:56:10+00:00" }, { "name": "spatie/laravel-permission", - "version": "6.7.0", + "version": "6.9.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-permission.git", - "reference": "17607924aa0aa89bc0153c2ce45ed7c55083367b" + "reference": "fe973a58b44380d0e8620107259b7bda22f70408" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/17607924aa0aa89bc0153c2ce45ed7c55083367b", - "reference": "17607924aa0aa89bc0153c2ce45ed7c55083367b", + "url": "https://api.github.com/repos/spatie/laravel-permission/zipball/fe973a58b44380d0e8620107259b7bda22f70408", + "reference": "fe973a58b44380d0e8620107259b7bda22f70408", "shasum": "" }, "require": { @@ -6074,7 +6115,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-permission/issues", - "source": "https://github.com/spatie/laravel-permission/tree/6.7.0" + "source": "https://github.com/spatie/laravel-permission/tree/6.9.0" }, "funding": [ { @@ -6082,7 +6123,7 @@ "type": "github" } ], - "time": "2024-04-19T12:35:28+00:00" + "time": "2024-06-22T23:04:52+00:00" }, { "name": "spatie/laravel-signal-aware-command", @@ -6160,16 +6201,16 @@ }, { "name": "spatie/laravel-translatable", - "version": "6.6.2", + "version": "6.8.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-translatable.git", - "reference": "529b4e89ad0b0982d9c635696260661d1cf2612c" + "reference": "0ef7e8e9d65bb834b7c68f22ec362a6179f50381" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/529b4e89ad0b0982d9c635696260661d1cf2612c", - "reference": "529b4e89ad0b0982d9c635696260661d1cf2612c", + "url": "https://api.github.com/repos/spatie/laravel-translatable/zipball/0ef7e8e9d65bb834b7c68f22ec362a6179f50381", + "reference": "0ef7e8e9d65bb834b7c68f22ec362a6179f50381", "shasum": "" }, "require": { @@ -6230,7 +6271,7 @@ ], "support": { "issues": "https://github.com/spatie/laravel-translatable/issues", - "source": "https://github.com/spatie/laravel-translatable/tree/6.6.2" + "source": "https://github.com/spatie/laravel-translatable/tree/6.8.0" }, "funding": [ { @@ -6238,7 +6279,7 @@ "type": "github" } ], - "time": "2024-03-01T10:24:53+00:00" + "time": "2024-07-24T14:26:27+00:00" }, { "name": "spatie/nova-backup-tool", @@ -6310,16 +6351,16 @@ }, { "name": "spatie/once", - "version": "3.1.0", + "version": "3.1.1", "source": { "type": "git", "url": "https://github.com/spatie/once.git", - "reference": "aab3fc8694e7caec98b2d330c4a8420391c7559d" + "reference": "25252b821765d72566be17c52ea05b35329f0f8f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/once/zipball/aab3fc8694e7caec98b2d330c4a8420391c7559d", - "reference": "aab3fc8694e7caec98b2d330c4a8420391c7559d", + "url": "https://api.github.com/repos/spatie/once/zipball/25252b821765d72566be17c52ea05b35329f0f8f", + "reference": "25252b821765d72566be17c52ea05b35329f0f8f", "shasum": "" }, "require": { @@ -6360,7 +6401,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/once/tree/3.1.0" + "source": "https://github.com/spatie/once/tree/3.1.1" }, "funding": [ { @@ -6368,7 +6409,7 @@ "type": "custom" } ], - "time": "2022-04-21T12:23:20+00:00" + "time": "2024-05-27T09:17:58+00:00" }, { "name": "spatie/temporary-directory", @@ -6666,22 +6707,23 @@ }, { "name": "stevebauman/location", - "version": "v7.2.1", + "version": "v7.3.2", "source": { "type": "git", "url": "https://github.com/stevebauman/location.git", - "reference": "c95c397bf54a109f9cdb335377887047408dc8bc" + "reference": "8bb24e761340f1b924ce3db76d7b8ad685f7d2ff" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/stevebauman/location/zipball/c95c397bf54a109f9cdb335377887047408dc8bc", - "reference": "c95c397bf54a109f9cdb335377887047408dc8bc", + "url": "https://api.github.com/repos/stevebauman/location/zipball/8bb24e761340f1b924ce3db76d7b8ad685f7d2ff", + "reference": "8bb24e761340f1b924ce3db76d7b8ad685f7d2ff", "shasum": "" }, "require": { "ext-curl": "*", "ext-json": "*", "geoip2/geoip2": "^2.0", + "guzzlehttp/guzzle": "^7.0", "illuminate/support": "^8.0|^9.0|^10.0|^11.0", "php": ">=8.1" }, @@ -6728,22 +6770,22 @@ ], "support": { "issues": "https://github.com/stevebauman/location/issues", - "source": "https://github.com/stevebauman/location/tree/v7.2.1" + "source": "https://github.com/stevebauman/location/tree/v7.3.2" }, - "time": "2024-04-09T17:05:20+00:00" + "time": "2024-06-28T21:16:01+00:00" }, { "name": "symfony/console", - "version": "v6.4.7", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a170e64ae10d00ba89e2acbb590dc2e54da8ad8f" + "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a170e64ae10d00ba89e2acbb590dc2e54da8ad8f", - "reference": "a170e64ae10d00ba89e2acbb590dc2e54da8ad8f", + "url": "https://api.github.com/repos/symfony/console/zipball/42686880adaacdad1835ee8fc2a9ec5b7bd63998", + "reference": "42686880adaacdad1835ee8fc2a9ec5b7bd63998", "shasum": "" }, "require": { @@ -6808,7 +6850,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.7" + "source": "https://github.com/symfony/console/tree/v6.4.11" }, "funding": [ { @@ -6824,20 +6866,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-08-15T22:48:29+00:00" }, { "name": "symfony/css-selector", - "version": "v7.0.7", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/css-selector.git", - "reference": "b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc" + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc", - "reference": "b08a4ad89e84b29cec285b7b1f781a7ae51cf4bc", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/1c7cee86c6f812896af54434f8ce29c8d94f9ff4", + "reference": "1c7cee86c6f812896af54434f8ce29c8d94f9ff4", "shasum": "" }, "require": { @@ -6873,7 +6915,7 @@ "description": "Converts CSS selectors to XPath expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/css-selector/tree/v7.0.7" + "source": "https://github.com/symfony/css-selector/tree/v7.1.1" }, "funding": [ { @@ -6889,7 +6931,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/deprecation-contracts", @@ -6960,16 +7002,16 @@ }, { "name": "symfony/error-handler", - "version": "v6.4.7", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "667a072466c6a53827ed7b119af93806b884cbb3" + "reference": "231f1b2ee80f72daa1972f7340297d67439224f0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/667a072466c6a53827ed7b119af93806b884cbb3", - "reference": "667a072466c6a53827ed7b119af93806b884cbb3", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/231f1b2ee80f72daa1972f7340297d67439224f0", + "reference": "231f1b2ee80f72daa1972f7340297d67439224f0", "shasum": "" }, "require": { @@ -7015,7 +7057,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.4.7" + "source": "https://github.com/symfony/error-handler/tree/v6.4.10" }, "funding": [ { @@ -7031,20 +7073,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.0.7", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9" + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/db2a7fab994d67d92356bb39c367db115d9d30f9", - "reference": "db2a7fab994d67d92356bb39c367db115d9d30f9", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", "shasum": "" }, "require": { @@ -7095,7 +7137,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.7" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1" }, "funding": [ { @@ -7111,7 +7153,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -7191,22 +7233,24 @@ }, { "name": "symfony/filesystem", - "version": "v7.0.7", + "version": "v7.1.2", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5" + "reference": "92a91985250c251de9b947a14bb2c9390b1a562c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/cc168be6fbdcdf3401f50ae863ee3818ed4338f5", - "reference": "cc168be6fbdcdf3401f50ae863ee3818ed4338f5", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/92a91985250c251de9b947a14bb2c9390b1a562c", + "reference": "92a91985250c251de9b947a14bb2c9390b1a562c", "shasum": "" }, "require": { "php": ">=8.2", "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "require-dev": { "symfony/process": "^6.4|^7.0" }, "type": "library", @@ -7235,7 +7279,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.0.7" + "source": "https://github.com/symfony/filesystem/tree/v7.1.2" }, "funding": [ { @@ -7251,20 +7295,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-06-28T10:03:55+00:00" }, { "name": "symfony/finder", - "version": "v6.4.7", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/finder.git", - "reference": "511c48990be17358c23bf45c5d71ab85d40fb764" + "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/511c48990be17358c23bf45c5d71ab85d40fb764", - "reference": "511c48990be17358c23bf45c5d71ab85d40fb764", + "url": "https://api.github.com/repos/symfony/finder/zipball/d7eb6daf8cd7e9ac4976e9576b32042ef7253453", + "reference": "d7eb6daf8cd7e9ac4976e9576b32042ef7253453", "shasum": "" }, "require": { @@ -7299,7 +7343,7 @@ "description": "Finds files and directories via an intuitive fluent interface", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/finder/tree/v6.4.7" + "source": "https://github.com/symfony/finder/tree/v6.4.11" }, "funding": [ { @@ -7315,20 +7359,20 @@ "type": "tidelift" } ], - "time": "2024-04-23T10:36:43+00:00" + "time": "2024-08-13T14:27:37+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.4.7", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "b4db6b833035477cb70e18d0ae33cb7c2b521759" + "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/b4db6b833035477cb70e18d0ae33cb7c2b521759", - "reference": "b4db6b833035477cb70e18d0ae33cb7c2b521759", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/117f1f20a7ade7bcea28b861fb79160a21a1e37b", + "reference": "117f1f20a7ade7bcea28b861fb79160a21a1e37b", "shasum": "" }, "require": { @@ -7376,7 +7420,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.4.7" + "source": "https://github.com/symfony/http-foundation/tree/v6.4.10" }, "funding": [ { @@ -7392,20 +7436,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-07-26T12:36:27+00:00" }, { "name": "symfony/http-kernel", - "version": "v6.4.7", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "b7b5e6cdef670a0c82d015a966ffc7e855861a98" + "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/b7b5e6cdef670a0c82d015a966ffc7e855861a98", - "reference": "b7b5e6cdef670a0c82d015a966ffc7e855861a98", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/1ba6b89d781cb47448155cc70dd2e0f1b0584c79", + "reference": "1ba6b89d781cb47448155cc70dd2e0f1b0584c79", "shasum": "" }, "require": { @@ -7490,7 +7534,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.4.7" + "source": "https://github.com/symfony/http-kernel/tree/v6.4.11" }, "funding": [ { @@ -7506,20 +7550,20 @@ "type": "tidelift" } ], - "time": "2024-04-29T11:24:44+00:00" + "time": "2024-08-30T16:57:20+00:00" }, { "name": "symfony/mailer", - "version": "v6.4.7", + "version": "v6.4.9", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "2c446d4e446995bed983c0b5bb9ff837e8de7dbd" + "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/2c446d4e446995bed983c0b5bb9ff837e8de7dbd", - "reference": "2c446d4e446995bed983c0b5bb9ff837e8de7dbd", + "url": "https://api.github.com/repos/symfony/mailer/zipball/e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", + "reference": "e2d56f180f5b8c5e7c0fbea872bb1f529b6d6d45", "shasum": "" }, "require": { @@ -7570,7 +7614,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v6.4.7" + "source": "https://github.com/symfony/mailer/tree/v6.4.9" }, "funding": [ { @@ -7586,20 +7630,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-06-28T07:59:05+00:00" }, { "name": "symfony/mime", - "version": "v6.4.7", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "decadcf3865918ecfcbfa90968553994ce935a5e" + "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/decadcf3865918ecfcbfa90968553994ce935a5e", - "reference": "decadcf3865918ecfcbfa90968553994ce935a5e", + "url": "https://api.github.com/repos/symfony/mime/zipball/dba5d5f6073baf7a3576b580cc4a208b4ca00553", + "reference": "dba5d5f6073baf7a3576b580cc4a208b4ca00553", "shasum": "" }, "require": { @@ -7613,7 +7657,7 @@ "phpdocumentor/reflection-docblock": "<3.2.2", "phpdocumentor/type-resolver": "<1.4.0", "symfony/mailer": "<5.4", - "symfony/serializer": "<6.3.2" + "symfony/serializer": "<6.4.3|>7.0,<7.0.3" }, "require-dev": { "egulias/email-validator": "^2.1.10|^3.1|^4", @@ -7623,7 +7667,7 @@ "symfony/process": "^5.4|^6.4|^7.0", "symfony/property-access": "^5.4|^6.0|^7.0", "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3.2|^7.0" + "symfony/serializer": "^6.4.3|^7.0.3" }, "type": "library", "autoload": { @@ -7655,7 +7699,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v6.4.7" + "source": "https://github.com/symfony/mime/tree/v6.4.11" }, "funding": [ { @@ -7671,20 +7715,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-08-13T12:15:02+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + "reference": "0424dff1c58f028c451efff2045f5d92410bd540" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/0424dff1c58f028c451efff2045f5d92410bd540", + "reference": "0424dff1c58f028c451efff2045f5d92410bd540", "shasum": "" }, "require": { @@ -7734,7 +7778,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.30.0" }, "funding": [ { @@ -7750,20 +7794,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/64647a7c30b2283f5d49b874d84a18fc22054b7a", + "reference": "64647a7c30b2283f5d49b874d84a18fc22054b7a", "shasum": "" }, "require": { @@ -7812,7 +7856,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.30.0" }, "funding": [ { @@ -7828,20 +7872,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-icu", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1" + "reference": "e76343c631b453088e2260ac41dfebe21954de81" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/07094a28851a49107f3ab4f9120ca2975a64b6e1", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/e76343c631b453088e2260ac41dfebe21954de81", + "reference": "e76343c631b453088e2260ac41dfebe21954de81", "shasum": "" }, "require": { @@ -7896,7 +7940,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.30.0" }, "funding": [ { @@ -7912,20 +7956,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:12:16+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-idn", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", + "reference": "a6e83bdeb3c84391d1dfe16f42e40727ce524a5c", "shasum": "" }, "require": { @@ -7980,7 +8024,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.30.0" }, "funding": [ { @@ -7996,20 +8040,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/a95281b0be0d9ab48050ebd988b967875cdb9fdb", + "reference": "a95281b0be0d9ab48050ebd988b967875cdb9fdb", "shasum": "" }, "require": { @@ -8061,7 +8105,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.30.0" }, "funding": [ { @@ -8077,20 +8121,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", "shasum": "" }, "require": { @@ -8141,7 +8185,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" }, "funding": [ { @@ -8157,20 +8201,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" + "reference": "10112722600777e02d2745716b70c5db4ca70442" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/10112722600777e02d2745716b70c5db4ca70442", + "reference": "10112722600777e02d2745716b70c5db4ca70442", "shasum": "" }, "require": { @@ -8214,7 +8258,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.30.0" }, "funding": [ { @@ -8230,20 +8274,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/77fa7995ac1b21ab60769b7323d600a991a90433", + "reference": "77fa7995ac1b21ab60769b7323d600a991a90433", "shasum": "" }, "require": { @@ -8294,7 +8338,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.30.0" }, "funding": [ { @@ -8310,25 +8354,24 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": ">=7.1" }, "type": "library", "extra": { @@ -8371,7 +8414,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" }, "funding": [ { @@ -8387,20 +8430,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:35:24+00:00" }, { "name": "symfony/polyfill-uuid", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-uuid.git", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" + "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", - "reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/2ba1f33797470debcda07fe9dce20a0003df18e9", + "reference": "2ba1f33797470debcda07fe9dce20a0003df18e9", "shasum": "" }, "require": { @@ -8450,7 +8493,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.30.0" }, "funding": [ { @@ -8466,20 +8509,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-05-31T15:07:36+00:00" }, { "name": "symfony/process", - "version": "v6.4.7", + "version": "v6.4.8", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "cdb1c81c145fd5aa9b0038bab694035020943381" + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/cdb1c81c145fd5aa9b0038bab694035020943381", - "reference": "cdb1c81c145fd5aa9b0038bab694035020943381", + "url": "https://api.github.com/repos/symfony/process/zipball/8d92dd79149f29e89ee0f480254db595f6a6a2c5", + "reference": "8d92dd79149f29e89ee0f480254db595f6a6a2c5", "shasum": "" }, "require": { @@ -8511,7 +8554,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v6.4.7" + "source": "https://github.com/symfony/process/tree/v6.4.8" }, "funding": [ { @@ -8527,20 +8570,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-05-31T14:49:08+00:00" }, { "name": "symfony/routing", - "version": "v6.4.7", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "276e06398f71fa2a973264d94f28150f93cfb907" + "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/276e06398f71fa2a973264d94f28150f93cfb907", - "reference": "276e06398f71fa2a973264d94f28150f93cfb907", + "url": "https://api.github.com/repos/symfony/routing/zipball/8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", + "reference": "8ee0c24c1bf61c263a26f1b9b6d19e83b1121f2a", "shasum": "" }, "require": { @@ -8594,7 +8637,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v6.4.7" + "source": "https://github.com/symfony/routing/tree/v6.4.11" }, "funding": [ { @@ -8610,7 +8653,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-08-29T08:15:38+00:00" }, { "name": "symfony/service-contracts", @@ -8697,16 +8740,16 @@ }, { "name": "symfony/string", - "version": "v7.0.7", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63" + "reference": "6cd670a6d968eaeb1c77c2e76091c45c56bc367b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/e405b5424dc2528e02e31ba26b83a79fd4eb8f63", - "reference": "e405b5424dc2528e02e31ba26b83a79fd4eb8f63", + "url": "https://api.github.com/repos/symfony/string/zipball/6cd670a6d968eaeb1c77c2e76091c45c56bc367b", + "reference": "6cd670a6d968eaeb1c77c2e76091c45c56bc367b", "shasum": "" }, "require": { @@ -8720,6 +8763,7 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { + "symfony/emoji": "^7.1", "symfony/error-handler": "^6.4|^7.0", "symfony/http-client": "^6.4|^7.0", "symfony/intl": "^6.4|^7.0", @@ -8763,7 +8807,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.0.7" + "source": "https://github.com/symfony/string/tree/v7.1.4" }, "funding": [ { @@ -8779,20 +8823,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:29:19+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "symfony/translation", - "version": "v6.4.7", + "version": "v6.4.10", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "7495687c58bfd88b7883823747b0656d90679123" + "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/7495687c58bfd88b7883823747b0656d90679123", - "reference": "7495687c58bfd88b7883823747b0656d90679123", + "url": "https://api.github.com/repos/symfony/translation/zipball/94041203f8ac200ae9e7c6a18fa6137814ccecc9", + "reference": "94041203f8ac200ae9e7c6a18fa6137814ccecc9", "shasum": "" }, "require": { @@ -8858,7 +8902,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.4.7" + "source": "https://github.com/symfony/translation/tree/v6.4.10" }, "funding": [ { @@ -8874,7 +8918,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-07-26T12:30:32+00:00" }, { "name": "symfony/translation-contracts", @@ -8956,16 +9000,16 @@ }, { "name": "symfony/uid", - "version": "v6.4.7", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "a66efcb71d8bc3a207d9d78e0bd67f3321510355" + "reference": "6a0394ad707de386547223948fac1e0f2805bc0b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/a66efcb71d8bc3a207d9d78e0bd67f3321510355", - "reference": "a66efcb71d8bc3a207d9d78e0bd67f3321510355", + "url": "https://api.github.com/repos/symfony/uid/zipball/6a0394ad707de386547223948fac1e0f2805bc0b", + "reference": "6a0394ad707de386547223948fac1e0f2805bc0b", "shasum": "" }, "require": { @@ -9010,7 +9054,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v6.4.7" + "source": "https://github.com/symfony/uid/tree/v6.4.11" }, "funding": [ { @@ -9026,20 +9070,20 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-08-12T09:55:28+00:00" }, { "name": "symfony/var-dumper", - "version": "v6.4.7", + "version": "v6.4.11", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "7a9cd977cd1c5fed3694bee52990866432af07d7" + "reference": "ee14c8254a480913268b1e3b1cba8045ed122694" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/7a9cd977cd1c5fed3694bee52990866432af07d7", - "reference": "7a9cd977cd1c5fed3694bee52990866432af07d7", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/ee14c8254a480913268b1e3b1cba8045ed122694", + "reference": "ee14c8254a480913268b1e3b1cba8045ed122694", "shasum": "" }, "require": { @@ -9095,7 +9139,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.4.7" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.11" }, "funding": [ { @@ -9111,7 +9155,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:22:46+00:00" + "time": "2024-08-30T16:03:21+00:00" }, { "name": "tijsverkoyen/css-to-inline-styles", @@ -9281,23 +9325,23 @@ }, { "name": "vlucas/phpdotenv", - "version": "v5.6.0", + "version": "v5.6.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/a59a13791077fe3d44f90e7133eb68e7d22eaff2", + "reference": "a59a13791077fe3d44f90e7133eb68e7d22eaff2", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.2", + "graham-campbell/result-type": "^1.1.3", "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2", + "phpoption/phpoption": "^1.9.3", "symfony/polyfill-ctype": "^1.24", "symfony/polyfill-mbstring": "^1.24", "symfony/polyfill-php80": "^1.24" @@ -9314,7 +9358,7 @@ "extra": { "bamarni-bin": { "bin-links": true, - "forward-command": true + "forward-command": false }, "branch-alias": { "dev-master": "5.6-dev" @@ -9349,7 +9393,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.1" }, "funding": [ { @@ -9361,7 +9405,7 @@ "type": "tidelift" } ], - "time": "2023-11-12T22:43:29+00:00" + "time": "2024-07-20T21:52:34+00:00" }, { "name": "voku/portable-ascii", @@ -9974,16 +10018,16 @@ }, { "name": "larastan/larastan", - "version": "v2.9.5", + "version": "v2.9.8", "source": { "type": "git", "url": "https://github.com/larastan/larastan.git", - "reference": "101f1a4470f87326f4d3995411d28679d8800abe" + "reference": "340badd89b0eb5bddbc503a4829c08cf9a2819d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/larastan/larastan/zipball/101f1a4470f87326f4d3995411d28679d8800abe", - "reference": "101f1a4470f87326f4d3995411d28679d8800abe", + "url": "https://api.github.com/repos/larastan/larastan/zipball/340badd89b0eb5bddbc503a4829c08cf9a2819d7", + "reference": "340badd89b0eb5bddbc503a4829c08cf9a2819d7", "shasum": "" }, "require": { @@ -9997,7 +10041,7 @@ "illuminate/support": "^9.52.16 || ^10.28.0 || ^11.0", "php": "^8.0.2", "phpmyadmin/sql-parser": "^5.9.0", - "phpstan/phpstan": "^1.10.66" + "phpstan/phpstan": "^1.11.2" }, "require-dev": { "doctrine/coding-standard": "^12.0", @@ -10052,7 +10096,7 @@ ], "support": { "issues": "https://github.com/larastan/larastan/issues", - "source": "https://github.com/larastan/larastan/tree/v2.9.5" + "source": "https://github.com/larastan/larastan/tree/v2.9.8" }, "funding": [ { @@ -10072,20 +10116,20 @@ "type": "patreon" } ], - "time": "2024-04-16T19:13:34+00:00" + "time": "2024-07-06T17:46:02+00:00" }, { "name": "laravel-lang/actions", - "version": "1.8.0", + "version": "1.8.4", "source": { "type": "git", "url": "https://github.com/Laravel-Lang/actions.git", - "reference": "dc4f19aa5c6898854a214257cc1927d2f18bcd91" + "reference": "1c88725b15a2fef11a2ed425eef40a31741e79c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Lang/actions/zipball/dc4f19aa5c6898854a214257cc1927d2f18bcd91", - "reference": "dc4f19aa5c6898854a214257cc1927d2f18bcd91", + "url": "https://api.github.com/repos/Laravel-Lang/actions/zipball/1c88725b15a2fef11a2ed425eef40a31741e79c0", + "reference": "1c88725b15a2fef11a2ed425eef40a31741e79c0", "shasum": "" }, "require": { @@ -10137,22 +10181,22 @@ ], "support": { "issues": "https://github.com/Laravel-Lang/actions/issues", - "source": "https://github.com/Laravel-Lang/actions/tree/1.8.0" + "source": "https://github.com/Laravel-Lang/actions/tree/1.8.4" }, - "time": "2024-05-05T17:50:13+00:00" + "time": "2024-06-11T09:23:47+00:00" }, { "name": "laravel-lang/attributes", - "version": "2.10.3", + "version": "2.10.8", "source": { "type": "git", "url": "https://github.com/Laravel-Lang/attributes.git", - "reference": "835ed5cab496d6017bbdd93bfdba66dea19c640a" + "reference": "cf53eb18a47692045ac135e5be1e3fa979232504" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Lang/attributes/zipball/835ed5cab496d6017bbdd93bfdba66dea19c640a", - "reference": "835ed5cab496d6017bbdd93bfdba66dea19c640a", + "url": "https://api.github.com/repos/Laravel-Lang/attributes/zipball/cf53eb18a47692045ac135e5be1e3fa979232504", + "reference": "cf53eb18a47692045ac135e5be1e3fa979232504", "shasum": "" }, "require": { @@ -10206,9 +10250,9 @@ ], "support": { "issues": "https://github.com/Laravel-Lang/attributes/issues", - "source": "https://github.com/Laravel-Lang/attributes/tree/2.10.3" + "source": "https://github.com/Laravel-Lang/attributes/tree/2.10.8" }, - "time": "2024-04-10T17:56:08+00:00" + "time": "2024-08-30T09:34:14+00:00" }, { "name": "laravel-lang/common", @@ -10298,16 +10342,16 @@ }, { "name": "laravel-lang/http-statuses", - "version": "3.8.2", + "version": "3.8.4", "source": { "type": "git", "url": "https://github.com/Laravel-Lang/http-statuses.git", - "reference": "b408ea74292df2e4fbec2be93858a3e697189b29" + "reference": "0e8b1af2835f951f5587f6c635ea6b929f275415" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Lang/http-statuses/zipball/b408ea74292df2e4fbec2be93858a3e697189b29", - "reference": "b408ea74292df2e4fbec2be93858a3e697189b29", + "url": "https://api.github.com/repos/Laravel-Lang/http-statuses/zipball/0e8b1af2835f951f5587f6c635ea6b929f275415", + "reference": "0e8b1af2835f951f5587f6c635ea6b929f275415", "shasum": "" }, "require": { @@ -10359,9 +10403,9 @@ ], "support": { "issues": "https://github.com/Laravel-Lang/http-statuses/issues", - "source": "https://github.com/Laravel-Lang/http-statuses/tree/3.8.2" + "source": "https://github.com/Laravel-Lang/http-statuses/tree/3.8.4" }, - "time": "2024-03-11T01:33:17+00:00" + "time": "2024-07-20T18:15:58+00:00" }, { "name": "laravel-lang/lang", @@ -10425,16 +10469,16 @@ }, { "name": "laravel-lang/locale-list", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/Laravel-Lang/locale-list.git", - "reference": "c525c99a87af6d42414c4459460b42c7fdc29cfe" + "reference": "48b8e4304f8b1ad34456270d35d44ca0c3e6ea0d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Laravel-Lang/locale-list/zipball/c525c99a87af6d42414c4459460b42c7fdc29cfe", - "reference": "c525c99a87af6d42414c4459460b42c7fdc29cfe", + "url": "https://api.github.com/repos/Laravel-Lang/locale-list/zipball/48b8e4304f8b1ad34456270d35d44ca0c3e6ea0d", + "reference": "48b8e4304f8b1ad34456270d35d44ca0c3e6ea0d", "shasum": "" }, "require": { @@ -10478,7 +10522,7 @@ "issues": "https://github.com/Laravel-Lang/locale-list/issues", "source": "https://github.com/Laravel-Lang/locale-list" }, - "time": "2024-01-17T08:34:28+00:00" + "time": "2024-06-01T00:24:42+00:00" }, { "name": "laravel-lang/locales", @@ -10856,16 +10900,16 @@ }, { "name": "laravel/sail", - "version": "v1.29.1", + "version": "v1.31.1", "source": { "type": "git", "url": "https://github.com/laravel/sail.git", - "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e" + "reference": "3d06dd18cee8059baa7b388af00ba47f6d96bd85" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/sail/zipball/8be4a31150eab3b46af11a2e7b2c4632eefaad7e", - "reference": "8be4a31150eab3b46af11a2e7b2c4632eefaad7e", + "url": "https://api.github.com/repos/laravel/sail/zipball/3d06dd18cee8059baa7b388af00ba47f6d96bd85", + "reference": "3d06dd18cee8059baa7b388af00ba47f6d96bd85", "shasum": "" }, "require": { @@ -10915,20 +10959,20 @@ "issues": "https://github.com/laravel/sail/issues", "source": "https://github.com/laravel/sail" }, - "time": "2024-03-20T20:09:31+00:00" + "time": "2024-08-02T07:45:47+00:00" }, { "name": "mockery/mockery", - "version": "1.6.11", + "version": "1.6.12", "source": { "type": "git", "url": "https://github.com/mockery/mockery.git", - "reference": "81a161d0b135df89951abd52296adf97deb0723d" + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mockery/mockery/zipball/81a161d0b135df89951abd52296adf97deb0723d", - "reference": "81a161d0b135df89951abd52296adf97deb0723d", + "url": "https://api.github.com/repos/mockery/mockery/zipball/1f4efdd7d3beafe9807b08156dfcb176d18f1699", + "reference": "1f4efdd7d3beafe9807b08156dfcb176d18f1699", "shasum": "" }, "require": { @@ -10998,20 +11042,20 @@ "security": "https://github.com/mockery/mockery/security/advisories", "source": "https://github.com/mockery/mockery" }, - "time": "2024-03-21T18:34:15+00:00" + "time": "2024-05-16T03:13:13+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.11.1", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", "shasum": "" }, "require": { @@ -11019,11 +11063,12 @@ }, "conflict": { "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" + "doctrine/common": "<2.13.3 || >=3 <3.2.2" }, "require-dev": { "doctrine/collections": "^1.6.8", "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" }, "type": "library", @@ -11049,7 +11094,7 @@ ], "support": { "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" }, "funding": [ { @@ -11057,7 +11102,7 @@ "type": "tidelift" } ], - "time": "2023-03-08T13:26:56+00:00" + "time": "2024-06-12T14:39:25+00:00" }, { "name": "nunomaduro/collision", @@ -11275,16 +11320,16 @@ }, { "name": "phpmyadmin/sql-parser", - "version": "5.9.0", + "version": "5.10.0", "source": { "type": "git", "url": "https://github.com/phpmyadmin/sql-parser.git", - "reference": "011fa18a4e55591fac6545a821921dd1d61c6984" + "reference": "91d980ab76c3f152481e367f62b921adc38af451" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/011fa18a4e55591fac6545a821921dd1d61c6984", - "reference": "011fa18a4e55591fac6545a821921dd1d61c6984", + "url": "https://api.github.com/repos/phpmyadmin/sql-parser/zipball/91d980ab76c3f152481e367f62b921adc38af451", + "reference": "91d980ab76c3f152481e367f62b921adc38af451", "shasum": "" }, "require": { @@ -11302,8 +11347,7 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan": "^1.9.12", "phpstan/phpstan-phpunit": "^1.3.3", - "phpunit/php-code-coverage": "*", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "phpunit/phpunit": "^8.5 || ^9.6", "psalm/plugin-phpunit": "^0.16.1", "vimeo/psalm": "^4.11", "zumba/json-serializer": "~3.0.2" @@ -11359,20 +11403,20 @@ "type": "other" } ], - "time": "2024-01-20T20:34:02+00:00" + "time": "2024-08-29T20:56:34+00:00" }, { "name": "phpstan/phpstan", - "version": "1.10.67", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493" + "reference": "384af967d35b2162f69526c7276acadce534d0e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/16ddbe776f10da6a95ebd25de7c1dbed397dc493", - "reference": "16ddbe776f10da6a95ebd25de7c1dbed397dc493", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/384af967d35b2162f69526c7276acadce534d0e1", + "reference": "384af967d35b2162f69526c7276acadce534d0e1", "shasum": "" }, "require": { @@ -11417,36 +11461,36 @@ "type": "github" } ], - "time": "2024-04-16T07:22:02+00:00" + "time": "2024-08-27T09:18:05+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "10.1.14", + "version": "10.1.16", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b" + "reference": "7e308268858ed6baedc8704a304727d20bc07c77" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", - "reference": "e3f51450ebffe8e0efdf7346ae966a656f7d5e5b", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/7e308268858ed6baedc8704a304727d20bc07c77", + "reference": "7e308268858ed6baedc8704a304727d20bc07c77", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", + "nikic/php-parser": "^4.19.1 || ^5.1.0", "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", - "theseer/tokenizer": "^1.2.0" + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-text-template": "^3.0.1", + "sebastian/code-unit-reverse-lookup": "^3.0.0", + "sebastian/complexity": "^3.2.0", + "sebastian/environment": "^6.1.0", + "sebastian/lines-of-code": "^2.0.2", + "sebastian/version": "^4.0.1", + "theseer/tokenizer": "^1.2.3" }, "require-dev": { "phpunit/phpunit": "^10.1" @@ -11458,7 +11502,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "10.1-dev" + "dev-main": "10.1.x-dev" } }, "autoload": { @@ -11487,7 +11531,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.14" + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.16" }, "funding": [ { @@ -11495,7 +11539,7 @@ "type": "github" } ], - "time": "2024-03-12T15:33:41+00:00" + "time": "2024-08-22T04:31:57+00:00" }, { "name": "phpunit/php-file-iterator", @@ -11742,16 +11786,16 @@ }, { "name": "phpunit/phpunit", - "version": "10.5.20", + "version": "10.5.30", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3" + "reference": "b15524febac0153876b4ba9aab3326c2ee94c897" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/547d314dc24ec1e177720d45c6263fb226cc2ae3", - "reference": "547d314dc24ec1e177720d45c6263fb226cc2ae3", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/b15524febac0153876b4ba9aab3326c2ee94c897", + "reference": "b15524febac0153876b4ba9aab3326c2ee94c897", "shasum": "" }, "require": { @@ -11761,26 +11805,26 @@ "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", + "myclabs/deep-copy": "^1.12.0", + "phar-io/manifest": "^2.0.4", + "phar-io/version": "^3.2.1", "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" + "phpunit/php-code-coverage": "^10.1.15", + "phpunit/php-file-iterator": "^4.1.0", + "phpunit/php-invoker": "^4.0.0", + "phpunit/php-text-template": "^3.0.1", + "phpunit/php-timer": "^6.0.0", + "sebastian/cli-parser": "^2.0.1", + "sebastian/code-unit": "^2.0.0", + "sebastian/comparator": "^5.0.2", + "sebastian/diff": "^5.1.1", + "sebastian/environment": "^6.1.0", + "sebastian/exporter": "^5.1.2", + "sebastian/global-state": "^6.0.2", + "sebastian/object-enumerator": "^5.0.0", + "sebastian/recursion-context": "^5.0.0", + "sebastian/type": "^4.0.0", + "sebastian/version": "^4.0.1" }, "suggest": { "ext-soap": "To be able to generate mocks based on WSDL files" @@ -11823,7 +11867,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.20" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.30" }, "funding": [ { @@ -11839,7 +11883,7 @@ "type": "tidelift" } ], - "time": "2024-04-24T06:32:35+00:00" + "time": "2024-08-13T06:09:37+00:00" }, { "name": "sebastian/cli-parser", @@ -12011,16 +12055,16 @@ }, { "name": "sebastian/comparator", - "version": "5.0.1", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" + "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", + "reference": "2d3e04c3b4c1e84a5e7382221ad8883c8fbc4f53", "shasum": "" }, "require": { @@ -12031,7 +12075,7 @@ "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^10.3" + "phpunit/phpunit": "^10.4" }, "type": "library", "extra": { @@ -12076,7 +12120,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.2" }, "funding": [ { @@ -12084,7 +12128,7 @@ "type": "github" } ], - "time": "2023-08-14T13:18:12+00:00" + "time": "2024-08-12T06:03:08+00:00" }, { "name": "sebastian/complexity", @@ -12759,16 +12803,16 @@ }, { "name": "spatie/backtrace", - "version": "1.6.1", + "version": "1.6.2", "source": { "type": "git", "url": "https://github.com/spatie/backtrace.git", - "reference": "8373b9d51638292e3bfd736a9c19a654111b4a23" + "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/backtrace/zipball/8373b9d51638292e3bfd736a9c19a654111b4a23", - "reference": "8373b9d51638292e3bfd736a9c19a654111b4a23", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/1a9a145b044677ae3424693f7b06479fc8c137a9", + "reference": "1a9a145b044677ae3424693f7b06479fc8c137a9", "shasum": "" }, "require": { @@ -12806,7 +12850,7 @@ "spatie" ], "support": { - "source": "https://github.com/spatie/backtrace/tree/1.6.1" + "source": "https://github.com/spatie/backtrace/tree/1.6.2" }, "funding": [ { @@ -12818,26 +12862,100 @@ "type": "other" } ], - "time": "2024-04-24T13:22:11+00:00" + "time": "2024-07-22T08:21:24+00:00" }, { - "name": "spatie/flare-client-php", - "version": "1.5.1", + "name": "spatie/error-solutions", + "version": "1.1.1", "source": { "type": "git", - "url": "https://github.com/spatie/flare-client-php.git", - "reference": "e27977d534eefe04c154c6fd8460217024054c05" + "url": "https://github.com/spatie/error-solutions.git", + "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/e27977d534eefe04c154c6fd8460217024054c05", - "reference": "e27977d534eefe04c154c6fd8460217024054c05", + "url": "https://api.github.com/repos/spatie/error-solutions/zipball/ae7393122eda72eed7cc4f176d1e96ea444f2d67", + "reference": "ae7393122eda72eed7cc4f176d1e96ea444f2d67", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "illuminate/broadcasting": "^10.0|^11.0", + "illuminate/cache": "^10.0|^11.0", + "illuminate/support": "^10.0|^11.0", + "livewire/livewire": "^2.11|^3.3.5", + "openai-php/client": "^0.10.1", + "orchestra/testbench": "^7.0|8.22.3|^9.0", + "pestphp/pest": "^2.20", + "phpstan/phpstan": "^1.11", + "psr/simple-cache": "^3.0", + "psr/simple-cache-implementation": "^3.0", + "spatie/ray": "^1.28", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "legacy/ignition", + "Spatie\\ErrorSolutions\\": "src", + "Spatie\\LaravelIgnition\\": "legacy/laravel-ignition" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ruben Van Assche", + "email": "ruben@spatie.be", + "role": "Developer" + } + ], + "description": "This is my package error-solutions", + "homepage": "https://github.com/spatie/error-solutions", + "keywords": [ + "error-solutions", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/error-solutions/issues", + "source": "https://github.com/spatie/error-solutions/tree/1.1.1" + }, + "funding": [ + { + "url": "https://github.com/Spatie", + "type": "github" + } + ], + "time": "2024-07-25T11:06:04+00:00" + }, + { + "name": "spatie/flare-client-php", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", + "reference": "180f8ca4c0d0d6fc51477bd8c53ce37ab5a96122", "shasum": "" }, "require": { "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", "php": "^8.0", - "spatie/backtrace": "^1.5.2", + "spatie/backtrace": "^1.6.1", "symfony/http-foundation": "^5.2|^6.0|^7.0", "symfony/mime": "^5.2|^6.0|^7.0", "symfony/process": "^5.2|^6.0|^7.0", @@ -12849,7 +12967,7 @@ "phpstan/extension-installer": "^1.1", "phpstan/phpstan-deprecation-rules": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" + "spatie/pest-plugin-snapshots": "^1.0|^2.0" }, "type": "library", "extra": { @@ -12879,7 +12997,7 @@ ], "support": { "issues": "https://github.com/spatie/flare-client-php/issues", - "source": "https://github.com/spatie/flare-client-php/tree/1.5.1" + "source": "https://github.com/spatie/flare-client-php/tree/1.8.0" }, "funding": [ { @@ -12887,28 +13005,28 @@ "type": "github" } ], - "time": "2024-05-03T15:43:14+00:00" + "time": "2024-08-01T08:27:26+00:00" }, { "name": "spatie/ignition", - "version": "1.14.1", + "version": "1.15.0", "source": { "type": "git", "url": "https://github.com/spatie/ignition.git", - "reference": "c23cc018c5f423d2f413b99f84655fceb6549811" + "reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/ignition/zipball/c23cc018c5f423d2f413b99f84655fceb6549811", - "reference": "c23cc018c5f423d2f413b99f84655fceb6549811", + "url": "https://api.github.com/repos/spatie/ignition/zipball/e3a68e137371e1eb9edc7f78ffa733f3b98991d2", + "reference": "e3a68e137371e1eb9edc7f78ffa733f3b98991d2", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", "php": "^8.0", - "spatie/backtrace": "^1.5.3", - "spatie/flare-client-php": "^1.4.0", + "spatie/error-solutions": "^1.0", + "spatie/flare-client-php": "^1.7", "symfony/console": "^5.4|^6.0|^7.0", "symfony/var-dumper": "^5.4|^6.0|^7.0" }, @@ -12970,20 +13088,20 @@ "type": "github" } ], - "time": "2024-05-03T15:56:16+00:00" + "time": "2024-06-12T14:55:22+00:00" }, { "name": "spatie/laravel-ignition", - "version": "2.7.0", + "version": "2.8.0", "source": { "type": "git", "url": "https://github.com/spatie/laravel-ignition.git", - "reference": "f52124d50122611e8a40f628cef5c19ff6cc5b57" + "reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/f52124d50122611e8a40f628cef5c19ff6cc5b57", - "reference": "f52124d50122611e8a40f628cef5c19ff6cc5b57", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/3c067b75bfb50574db8f7e2c3978c65eed71126c", + "reference": "3c067b75bfb50574db8f7e2c3978c65eed71126c", "shasum": "" }, "require": { @@ -12992,8 +13110,7 @@ "ext-mbstring": "*", "illuminate/support": "^10.0|^11.0", "php": "^8.1", - "spatie/flare-client-php": "^1.5", - "spatie/ignition": "^1.14", + "spatie/ignition": "^1.15", "symfony/console": "^6.2.3|^7.0", "symfony/var-dumper": "^6.2.3|^7.0" }, @@ -13062,20 +13179,20 @@ "type": "github" } ], - "time": "2024-05-02T13:42:49+00:00" + "time": "2024-06-12T15:01:18+00:00" }, { "name": "symfony/polyfill-php81", - "version": "v1.29.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d" + "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/3fb075789fb91f9ad9af537c4012d523085bd5af", + "reference": "3fb075789fb91f9ad9af537c4012d523085bd5af", "shasum": "" }, "require": { @@ -13122,7 +13239,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" + "source": "https://github.com/symfony/polyfill-php81/tree/v1.30.0" }, "funding": [ { @@ -13138,20 +13255,20 @@ "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/yaml", - "version": "v7.0.7", + "version": "v7.1.4", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c" + "reference": "92e080b851c1c655c786a2da77f188f2dccd0f4b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c", - "reference": "0d3916ae69ea28b59d94b60c4f2b50f4e25adb5c", + "url": "https://api.github.com/repos/symfony/yaml/zipball/92e080b851c1c655c786a2da77f188f2dccd0f4b", + "reference": "92e080b851c1c655c786a2da77f188f2dccd0f4b", "shasum": "" }, "require": { @@ -13193,7 +13310,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v7.0.7" + "source": "https://github.com/symfony/yaml/tree/v7.1.4" }, "funding": [ { @@ -13209,7 +13326,7 @@ "type": "tidelift" } ], - "time": "2024-04-28T11:44:19+00:00" + "time": "2024-08-12T09:59:40+00:00" }, { "name": "theseer/tokenizer", @@ -13266,7 +13383,6 @@ "minimum-stability": "dev", "stability-flags": { "eolica/nova-locale-switcher": 20, - "laravel/pulse": 10, "outl1ne/nova-grid": 20 }, "prefer-stable": true, diff --git a/config/pulse.php b/config/pulse.php index 335ca27..6005d25 100644 --- a/config/pulse.php +++ b/config/pulse.php @@ -2,6 +2,18 @@ use Laravel\Pulse\Http\Middleware\Authorize; use Laravel\Pulse\Recorders; +use Laravel\Pulse\Recorders\CacheInteractions; +use Laravel\Pulse\Recorders\Exceptions; +use Laravel\Pulse\Recorders\Queues; +use Laravel\Pulse\Recorders\Servers; +use Laravel\Pulse\Recorders\SlowJobs; +use Laravel\Pulse\Recorders\SlowOutgoingRequests; +use Laravel\Pulse\Recorders\SlowQueries; +use Laravel\Pulse\Recorders\SlowRequests; +use Laravel\Pulse\Recorders\UserJobs; +use Laravel\Pulse\Recorders\UserRequests; +use Maantje\Pulse\PhpFpm\Recorders\PhpFpmRecorder; +use Morrislaptop\LaravelPulse4xx\FourXxRecorder; return [ @@ -127,7 +139,7 @@ return [ */ 'recorders' => [ - Recorders\CacheInteractions::class => [ + CacheInteractions::class => [ 'enabled' => env('PULSE_CACHE_INTERACTIONS_ENABLED', true), 'sample_rate' => env('PULSE_CACHE_INTERACTIONS_SAMPLE_RATE', 1), 'ignore' => [ @@ -144,7 +156,7 @@ return [ ], ], - Recorders\Exceptions::class => [ + Exceptions::class => [ 'enabled' => env('PULSE_EXCEPTIONS_ENABLED', true), 'sample_rate' => env('PULSE_EXCEPTIONS_SAMPLE_RATE', 1), 'location' => env('PULSE_EXCEPTIONS_LOCATION', true), @@ -153,7 +165,7 @@ return [ ], ], - Recorders\Queues::class => [ + Queues::class => [ 'enabled' => env('PULSE_QUEUES_ENABLED', true), 'sample_rate' => env('PULSE_QUEUES_SAMPLE_RATE', 1), 'ignore' => [ @@ -161,12 +173,12 @@ return [ ], ], - Recorders\Servers::class => [ + Servers::class => [ 'server_name' => env('PULSE_SERVER_NAME', gethostname()), 'directories' => explode(':', env('PULSE_SERVER_DIRECTORIES', '/')), ], - Recorders\SlowJobs::class => [ + SlowJobs::class => [ 'enabled' => env('PULSE_SLOW_JOBS_ENABLED', true), 'sample_rate' => env('PULSE_SLOW_JOBS_SAMPLE_RATE', 1), 'threshold' => env('PULSE_SLOW_JOBS_THRESHOLD', 1000), @@ -175,7 +187,7 @@ return [ ], ], - Recorders\SlowOutgoingRequests::class => [ + SlowOutgoingRequests::class => [ 'enabled' => env('PULSE_SLOW_OUTGOING_REQUESTS_ENABLED', true), 'sample_rate' => env('PULSE_SLOW_OUTGOING_REQUESTS_SAMPLE_RATE', 1), 'threshold' => env('PULSE_SLOW_OUTGOING_REQUESTS_THRESHOLD', 1000), @@ -189,7 +201,7 @@ return [ ], ], - Recorders\SlowQueries::class => [ + SlowQueries::class => [ 'enabled' => env('PULSE_SLOW_QUERIES_ENABLED', true), 'sample_rate' => env('PULSE_SLOW_QUERIES_SAMPLE_RATE', 1), 'threshold' => env('PULSE_SLOW_QUERIES_THRESHOLD', 1000), @@ -199,7 +211,7 @@ return [ ], ], - Recorders\SlowRequests::class => [ + SlowRequests::class => [ 'enabled' => env('PULSE_SLOW_REQUESTS_ENABLED', true), 'sample_rate' => env('PULSE_SLOW_REQUESTS_SAMPLE_RATE', 1), 'threshold' => env('PULSE_SLOW_REQUESTS_THRESHOLD', 1000), @@ -208,7 +220,7 @@ return [ ], ], - Recorders\UserJobs::class => [ + UserJobs::class => [ 'enabled' => env('PULSE_USER_JOBS_ENABLED', true), 'sample_rate' => env('PULSE_USER_JOBS_SAMPLE_RATE', 1), 'ignore' => [ @@ -216,7 +228,7 @@ return [ ], ], - Recorders\UserRequests::class => [ + UserRequests::class => [ 'enabled' => env('PULSE_USER_REQUESTS_ENABLED', true), 'sample_rate' => env('PULSE_USER_REQUESTS_SAMPLE_RATE', 1), 'ignore' => [ @@ -224,40 +236,25 @@ return [ ], ], - \Morrislaptop\LaravelPulse4xx\FourXxRecorder::class => [ + FourXxRecorder::class => [ 'enabled' => env('PULSE_4XX_ENABLED', true), 'sample_rate' => env('PULSE_4XX_SAMPLE_RATE', 1), 'ignore' => [], ], - \Maantje\Pulse\Database\Recorders\DatabaseRecorder::class => [ - 'connections' => [ - 'pgsql' => [ - 'values' => [ - 'Connections', - 'Threads_connected', - 'Threads_running', - 'Innodb_buffer_pool_reads', - 'Innodb_buffer_pool_read_requests', - 'Innodb_buffer_pool_pages_total', - 'Max_used_connections', - ], - 'aggregates' => [ - 'avg' => [ - 'Threads_connected', - 'Threads_running', - 'Innodb_buffer_pool_reads', - 'Innodb_buffer_pool_read_requests', - 'Innodb_buffer_pool_pages_total', - ], - 'max' => [ - // - ], - 'count' => [ - // - ], - ], - ], + PhpFpmRecorder::class => [ + // Optionally set a server name gethostname() is the default + 'server_name' => env('PULSE_SERVER_NAME', gethostname()), + // Optionally set a status path the current value is the default + 'status_path' => 'localhost:9000/status', // with unix socket unix:/var/run/php-fpm/web.sock/status + // Optionally give datasets, these are the default values. + // Omitting a dataset or setting the value to false will remove the line from the chart + // You can also set a color as value that will be used in the chart + 'datasets' => [ + 'active processes' => '#9333ea', + 'total processes' => 'rgba(147,51,234,0.5)', + 'idle processes' => '#eab308', + 'listen queue' => '#e11d48', ], ], ], diff --git a/database/migrations/2023_06_07_000001_create_pulse_tables.php b/database/migrations/2023_06_07_000001_create_pulse_tables.php new file mode 100644 index 0000000..5d194e2 --- /dev/null +++ b/database/migrations/2023_06_07_000001_create_pulse_tables.php @@ -0,0 +1,84 @@ +shouldRun()) { + return; + } + + Schema::create('pulse_values', function (Blueprint $table) { + $table->id(); + $table->unsignedInteger('timestamp'); + $table->string('type'); + $table->mediumText('key'); + match ($this->driver()) { + 'mariadb', 'mysql' => $table->char('key_hash', 16)->charset('binary')->virtualAs('unhex(md5(`key`))'), + 'pgsql' => $table->uuid('key_hash')->storedAs('md5("key")::uuid'), + 'sqlite' => $table->string('key_hash'), + }; + $table->mediumText('value'); + + $table->index('timestamp'); // For trimming... + $table->index('type'); // For fast lookups and purging... + $table->unique(['type', 'key_hash']); // For data integrity and upserts... + }); + + Schema::create('pulse_entries', function (Blueprint $table) { + $table->id(); + $table->unsignedInteger('timestamp'); + $table->string('type'); + $table->mediumText('key'); + match ($this->driver()) { + 'mariadb', 'mysql' => $table->char('key_hash', 16)->charset('binary')->virtualAs('unhex(md5(`key`))'), + 'pgsql' => $table->uuid('key_hash')->storedAs('md5("key")::uuid'), + 'sqlite' => $table->string('key_hash'), + }; + $table->bigInteger('value')->nullable(); + + $table->index('timestamp'); // For trimming... + $table->index('type'); // For purging... + $table->index('key_hash'); // For mapping... + $table->index(['timestamp', 'type', 'key_hash', 'value']); // For aggregate queries... + }); + + Schema::create('pulse_aggregates', function (Blueprint $table) { + $table->id(); + $table->unsignedInteger('bucket'); + $table->unsignedMediumInteger('period'); + $table->string('type'); + $table->mediumText('key'); + match ($this->driver()) { + 'mariadb', 'mysql' => $table->char('key_hash', 16)->charset('binary')->virtualAs('unhex(md5(`key`))'), + 'pgsql' => $table->uuid('key_hash')->storedAs('md5("key")::uuid'), + 'sqlite' => $table->string('key_hash'), + }; + $table->string('aggregate'); + $table->decimal('value', 20, 2); + $table->unsignedInteger('count')->nullable(); + + $table->unique(['bucket', 'period', 'type', 'aggregate', 'key_hash']); // Force "on duplicate update"... + $table->index(['period', 'bucket']); // For trimming... + $table->index('type'); // For purging... + $table->index(['period', 'type', 'aggregate', 'bucket']); // For aggregate queries... + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('pulse_values'); + Schema::dropIfExists('pulse_entries'); + Schema::dropIfExists('pulse_aggregates'); + } +}; diff --git a/public/vendor/nova-kit/nova-packages-tool/tool.js b/public/vendor/nova-kit/nova-packages-tool/tool.js index a29027b..232d8ee 100644 --- a/public/vendor/nova-kit/nova-packages-tool/tool.js +++ b/public/vendor/nova-kit/nova-packages-tool/tool.js @@ -1,3 +1,3 @@ /*! For license information please see tool.js.LICENSE.txt */ -(()=>{var t={6899:(t,e,r)=>{"use strict";r.r(e),r.d(e,{CopiesToClipboard:()=>l,DependentFormField:()=>Lr,Errors:()=>Ur.D1,FieldValue:()=>$r,FormEvents:()=>Pr,FormField:()=>Nr,HandlesFieldAttachments:()=>Kr,HandlesFormRequest:()=>Ir,HandlesPanelVisibility:()=>sn,HandlesUploads:()=>Dr,HandlesValidationErrors:()=>Qr,HasCards:()=>nn,Localization:()=>qr,MetricBehavior:()=>Hr,PreventsFormAbandonment:()=>ot,PreventsModalAbandonment:()=>ut,mapProps:()=>s,useCopyValueToClipboard:()=>c,useLocalization:()=>un});var n={};r.r(n),r.d(n,{hasBrowserEnv:()=>ce,hasStandardBrowserEnv:()=>le,hasStandardBrowserWebWorkerEnv:()=>pe});var o=r(4047),i=r.n(o),a={nested:{type:Boolean,default:!1},preventInitialLoading:{type:Boolean,default:!1},showHelpText:{type:Boolean,default:!1},shownViaNewRelationModal:{type:Boolean,default:!1},resourceId:{type:[Number,String]},resourceName:{type:String},relatedResourceId:{type:[Number,String]},relatedResourceName:{type:String},field:{type:Object,required:!0},viaResource:{type:String,required:!1},viaResourceId:{type:[String,Number],required:!1},viaRelationship:{type:String,required:!1},relationshipType:{type:String,default:""},shouldOverrideMeta:{type:Boolean,default:!1},disablePagination:{type:Boolean,default:!1},clickAction:{type:String,default:"view",validator:function(t){return["edit","select","ignore","detail"].includes(t)}},mode:{type:String,default:"form",validator:function(t){return["form","modal","action-modal","action-fullscreen"].includes(t)}}};function s(t){return i()(a,t)}var u={methods:{copyValueToClipboard:function(t){if(navigator.clipboard)navigator.clipboard.writeText(t);else if(window.clipboardData)window.clipboardData.setData("Text",t);else{var e=document.createElement("input"),r=[document.documentElement.scrollTop,document.documentElement.scrollLeft],n=r[0],o=r[1];document.body.appendChild(e),e.value=t,e.focus(),e.select(),document.documentElement.scrollTop=n,document.documentElement.scrollLeft=o,document.execCommand("copy"),e.remove()}}}};function c(){return{copyValueToClipboard:function(t){return u.methods.copyValueToClipboard(t)}}}const l=u,f=Vue;function p(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:void 0!==r.g?r.g:{}}const h="function"==typeof Proxy;let d,y;function v(){return void 0!==d||("undefined"!=typeof window&&window.performance?(d=!0,y=window.performance):void 0!==r.g&&(null===(t=r.g.perf_hooks)||void 0===t?void 0:t.performance)?(d=!0,y=r.g.perf_hooks.performance):d=!1),d?y.now():Date.now();var t}class m{constructor(t,e){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=t,this.hook=e;const r={};if(t.settings)for(const e in t.settings){const n=t.settings[e];r[e]=n.defaultValue}const n=`__vue-devtools-plugin-settings__${t.id}`;let o=Object.assign({},r);try{const t=localStorage.getItem(n),e=JSON.parse(t);Object.assign(o,e)}catch(t){}this.fallbacks={getSettings:()=>o,setSettings(t){try{localStorage.setItem(n,JSON.stringify(t))}catch(t){}o=t},now:()=>v()},e&&e.on("plugin:settings:set",((t,e)=>{t===this.plugin.id&&this.fallbacks.setSettings(e)})),this.proxiedOn=new Proxy({},{get:(t,e)=>this.target?this.target.on[e]:(...t)=>{this.onQueue.push({method:e,args:t})}}),this.proxiedTarget=new Proxy({},{get:(t,e)=>this.target?this.target[e]:"on"===e?this.proxiedOn:Object.keys(this.fallbacks).includes(e)?(...t)=>(this.targetQueue.push({method:e,args:t,resolve:()=>{}}),this.fallbacks[e](...t)):(...t)=>new Promise((r=>{this.targetQueue.push({method:e,args:t,resolve:r})}))})}async setRealTarget(t){this.target=t;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const t of this.targetQueue)t.resolve(await this.target[t.method](...t.args))}}function g(t,e){const r=t,n=p(),o=p().__VUE_DEVTOOLS_GLOBAL_HOOK__,i=h&&r.enableEarlyProxy;if(!o||!n.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&i){const t=i?new m(r,o):null;(n.__VUE_DEVTOOLS_PLUGINS__=n.__VUE_DEVTOOLS_PLUGINS__||[]).push({pluginDescriptor:r,setupFn:e,proxy:t}),t&&e(t.proxiedTarget)}else o.emit("devtools-plugin:setup",t,e)}var b="store";function w(t,e){Object.keys(t).forEach((function(r){return e(t[r],r)}))}function O(t){return null!==t&&"object"==typeof t}function E(t,e,r){return e.indexOf(t)<0&&(r&&r.prepend?e.unshift(t):e.push(t)),function(){var r=e.indexOf(t);r>-1&&e.splice(r,1)}}function S(t,e){t._actions=Object.create(null),t._mutations=Object.create(null),t._wrappedGetters=Object.create(null),t._modulesNamespaceMap=Object.create(null);var r=t.state;_(t,r,[],t._modules.root,!0),x(t,r,e)}function x(t,e,r){var n=t._state,o=t._scope;t.getters={},t._makeLocalGettersCache=Object.create(null);var i=t._wrappedGetters,a={},s={},u=(0,f.effectScope)(!0);u.run((function(){w(i,(function(e,r){a[r]=function(t,e){return function(){return t(e)}}(e,t),s[r]=(0,f.computed)((function(){return a[r]()})),Object.defineProperty(t.getters,r,{get:function(){return s[r].value},enumerable:!0})}))})),t._state=(0,f.reactive)({data:e}),t._scope=u,t.strict&&function(t){(0,f.watch)((function(){return t._state.data}),(function(){0}),{deep:!0,flush:"sync"})}(t),n&&r&&t._withCommit((function(){n.data=null})),o&&o.stop()}function _(t,e,r,n,o){var i=!r.length,a=t._modules.getNamespace(r);if(n.namespaced&&(t._modulesNamespaceMap[a],t._modulesNamespaceMap[a]=n),!i&&!o){var s=A(e,r.slice(0,-1)),u=r[r.length-1];t._withCommit((function(){s[u]=n.state}))}var c=n.context=function(t,e,r){var n=""===e,o={dispatch:n?t.dispatch:function(r,n,o){var i=P(r,n,o),a=i.payload,s=i.options,u=i.type;return s&&s.root||(u=e+u),t.dispatch(u,a)},commit:n?t.commit:function(r,n,o){var i=P(r,n,o),a=i.payload,s=i.options,u=i.type;s&&s.root||(u=e+u),t.commit(u,a,s)}};return Object.defineProperties(o,{getters:{get:n?function(){return t.getters}:function(){return j(t,e)}},state:{get:function(){return A(t.state,r)}}}),o}(t,a,r);n.forEachMutation((function(e,r){!function(t,e,r,n){(t._mutations[e]||(t._mutations[e]=[])).push((function(e){r.call(t,n.state,e)}))}(t,a+r,e,c)})),n.forEachAction((function(e,r){var n=e.root?r:a+r,o=e.handler||e;!function(t,e,r,n){(t._actions[e]||(t._actions[e]=[])).push((function(e){var o,i=r.call(t,{dispatch:n.dispatch,commit:n.commit,getters:n.getters,state:n.state,rootGetters:t.getters,rootState:t.state},e);return(o=i)&&"function"==typeof o.then||(i=Promise.resolve(i)),t._devtoolHook?i.catch((function(e){throw t._devtoolHook.emit("vuex:error",e),e})):i}))}(t,n,o,c)})),n.forEachGetter((function(e,r){!function(t,e,r,n){if(t._wrappedGetters[e])return void 0;t._wrappedGetters[e]=function(t){return r(n.state,n.getters,t.state,t.getters)}}(t,a+r,e,c)})),n.forEachChild((function(n,i){_(t,e,r.concat(i),n,o)}))}function j(t,e){if(!t._makeLocalGettersCache[e]){var r={},n=e.length;Object.keys(t.getters).forEach((function(o){if(o.slice(0,n)===e){var i=o.slice(n);Object.defineProperty(r,i,{get:function(){return t.getters[o]},enumerable:!0})}})),t._makeLocalGettersCache[e]=r}return t._makeLocalGettersCache[e]}function A(t,e){return e.reduce((function(t,e){return t[e]}),t)}function P(t,e,r){return O(t)&&t.type&&(r=e,e=t,t=t.type),{type:t,payload:e,options:r}}var R="vuex:mutations",T="vuex:actions",N="vuex",C=0;function F(t,e){g({id:"org.vuejs.vuex",app:t,label:"Vuex",homepage:"https://next.vuex.vuejs.org/",logo:"https://vuejs.org/images/icons/favicon-96x96.png",packageName:"vuex",componentStateTypes:["vuex bindings"]},(function(r){r.addTimelineLayer({id:R,label:"Vuex Mutations",color:k}),r.addTimelineLayer({id:T,label:"Vuex Actions",color:k}),r.addInspector({id:N,label:"Vuex",icon:"storage",treeFilterPlaceholder:"Filter stores..."}),r.on.getInspectorTree((function(r){if(r.app===t&&r.inspectorId===N)if(r.filter){var n=[];D(n,e._modules.root,r.filter,""),r.rootNodes=n}else r.rootNodes=[I(e._modules.root,"")]})),r.on.getInspectorState((function(r){if(r.app===t&&r.inspectorId===N){var n=r.nodeId;j(e,n),r.state=function(t,e,r){e="root"===r?e:e[r];var n=Object.keys(e),o={state:Object.keys(t.state).map((function(e){return{key:e,editable:!0,value:t.state[e]}}))};if(n.length){var i=function(t){var e={};return Object.keys(t).forEach((function(r){var n=r.split("/");if(n.length>1){var o=e,i=n.pop();n.forEach((function(t){o[t]||(o[t]={_custom:{value:{},display:t,tooltip:"Module",abstract:!0}}),o=o[t]._custom.value})),o[i]=B((function(){return t[r]}))}else e[r]=B((function(){return t[r]}))})),e}(e);o.getters=Object.keys(i).map((function(t){return{key:t.endsWith("/")?U(t):t,editable:!1,value:B((function(){return i[t]}))}}))}return o}((o=e._modules,(a=(i=n).split("/").filter((function(t){return t}))).reduce((function(t,e,r){var n=t[e];if(!n)throw new Error('Missing module "'+e+'" for path "'+i+'".');return r===a.length-1?n:n._children}),"root"===i?o:o.root._children)),"root"===n?e.getters:e._makeLocalGettersCache,n)}var o,i,a})),r.on.editInspectorState((function(r){if(r.app===t&&r.inspectorId===N){var n=r.nodeId,o=r.path;"root"!==n&&(o=n.split("/").filter(Boolean).concat(o)),e._withCommit((function(){r.set(e._state.data,o,r.state.value)}))}})),e.subscribe((function(t,e){var n={};t.payload&&(n.payload=t.payload),n.state=e,r.notifyComponentUpdate(),r.sendInspectorTree(N),r.sendInspectorState(N),r.addTimelineEvent({layerId:R,event:{time:Date.now(),title:t.type,data:n}})})),e.subscribeAction({before:function(t,e){var n={};t.payload&&(n.payload=t.payload),t._id=C++,t._time=Date.now(),n.state=e,r.addTimelineEvent({layerId:T,event:{time:t._time,title:t.type,groupId:t._id,subtitle:"start",data:n}})},after:function(t,e){var n={},o=Date.now()-t._time;n.duration={_custom:{type:"duration",display:o+"ms",tooltip:"Action duration",value:o}},t.payload&&(n.payload=t.payload),n.state=e,r.addTimelineEvent({layerId:T,event:{time:Date.now(),title:t.type,groupId:t._id,subtitle:"end",data:n}})}})}))}var k=8702998,L={label:"namespaced",textColor:16777215,backgroundColor:6710886};function U(t){return t&&"root"!==t?t.split("/").slice(-2,-1)[0]:"Root"}function I(t,e){return{id:e||"root",label:U(e),tags:t.namespaced?[L]:[],children:Object.keys(t._children).map((function(r){return I(t._children[r],e+r+"/")}))}}function D(t,e,r,n){n.includes(r)&&t.push({id:n||"root",label:n.endsWith("/")?n.slice(0,n.length-1):n||"Root",tags:e.namespaced?[L]:[]}),Object.keys(e._children).forEach((function(o){D(t,e._children[o],r,n+o+"/")}))}function B(t){try{return t()}catch(t){return t}}var M=function(t,e){this.runtime=e,this._children=Object.create(null),this._rawModule=t;var r=t.state;this.state=("function"==typeof r?r():r)||{}},V={namespaced:{configurable:!0}};V.namespaced.get=function(){return!!this._rawModule.namespaced},M.prototype.addChild=function(t,e){this._children[t]=e},M.prototype.removeChild=function(t){delete this._children[t]},M.prototype.getChild=function(t){return this._children[t]},M.prototype.hasChild=function(t){return t in this._children},M.prototype.update=function(t){this._rawModule.namespaced=t.namespaced,t.actions&&(this._rawModule.actions=t.actions),t.mutations&&(this._rawModule.mutations=t.mutations),t.getters&&(this._rawModule.getters=t.getters)},M.prototype.forEachChild=function(t){w(this._children,t)},M.prototype.forEachGetter=function(t){this._rawModule.getters&&w(this._rawModule.getters,t)},M.prototype.forEachAction=function(t){this._rawModule.actions&&w(this._rawModule.actions,t)},M.prototype.forEachMutation=function(t){this._rawModule.mutations&&w(this._rawModule.mutations,t)},Object.defineProperties(M.prototype,V);var q=function(t){this.register([],t,!1)};function H(t,e,r){if(e.update(r),r.modules)for(var n in r.modules){if(!e.getChild(n))return void 0;H(t.concat(n),e.getChild(n),r.modules[n])}}q.prototype.get=function(t){return t.reduce((function(t,e){return t.getChild(e)}),this.root)},q.prototype.getNamespace=function(t){var e=this.root;return t.reduce((function(t,r){return t+((e=e.getChild(r)).namespaced?r+"/":"")}),"")},q.prototype.update=function(t){H([],this.root,t)},q.prototype.register=function(t,e,r){var n=this;void 0===r&&(r=!0);var o=new M(e,r);0===t.length?this.root=o:this.get(t.slice(0,-1)).addChild(t[t.length-1],o);e.modules&&w(e.modules,(function(e,o){n.register(t.concat(o),e,r)}))},q.prototype.unregister=function(t){var e=this.get(t.slice(0,-1)),r=t[t.length-1],n=e.getChild(r);n&&n.runtime&&e.removeChild(r)},q.prototype.isRegistered=function(t){var e=this.get(t.slice(0,-1)),r=t[t.length-1];return!!e&&e.hasChild(r)};var $=function(t){var e=this;void 0===t&&(t={});var r=t.plugins;void 0===r&&(r=[]);var n=t.strict;void 0===n&&(n=!1);var o=t.devtools;this._committing=!1,this._actions=Object.create(null),this._actionSubscribers=[],this._mutations=Object.create(null),this._wrappedGetters=Object.create(null),this._modules=new q(t),this._modulesNamespaceMap=Object.create(null),this._subscribers=[],this._makeLocalGettersCache=Object.create(null),this._scope=null,this._devtools=o;var i=this,a=this.dispatch,s=this.commit;this.dispatch=function(t,e){return a.call(i,t,e)},this.commit=function(t,e,r){return s.call(i,t,e,r)},this.strict=n;var u=this._modules.root.state;_(this,u,[],this._modules.root),x(this,u),r.forEach((function(t){return t(e)}))},z={state:{configurable:!0}};$.prototype.install=function(t,e){t.provide(e||b,this),t.config.globalProperties.$store=this,void 0!==this._devtools&&this._devtools&&F(t,this)},z.state.get=function(){return this._state.data},z.state.set=function(t){0},$.prototype.commit=function(t,e,r){var n=this,o=P(t,e,r),i=o.type,a=o.payload,s=(o.options,{type:i,payload:a}),u=this._mutations[i];u&&(this._withCommit((function(){u.forEach((function(t){t(a)}))})),this._subscribers.slice().forEach((function(t){return t(s,n.state)})))},$.prototype.dispatch=function(t,e){var r=this,n=P(t,e),o=n.type,i=n.payload,a={type:o,payload:i},s=this._actions[o];if(s){try{this._actionSubscribers.slice().filter((function(t){return t.before})).forEach((function(t){return t.before(a,r.state)}))}catch(t){0}var u=s.length>1?Promise.all(s.map((function(t){return t(i)}))):s[0](i);return new Promise((function(t,e){u.then((function(e){try{r._actionSubscribers.filter((function(t){return t.after})).forEach((function(t){return t.after(a,r.state)}))}catch(t){0}t(e)}),(function(t){try{r._actionSubscribers.filter((function(t){return t.error})).forEach((function(e){return e.error(a,r.state,t)}))}catch(t){0}e(t)}))}))}},$.prototype.subscribe=function(t,e){return E(t,this._subscribers,e)},$.prototype.subscribeAction=function(t,e){return E("function"==typeof t?{before:t}:t,this._actionSubscribers,e)},$.prototype.watch=function(t,e,r){var n=this;return(0,f.watch)((function(){return t(n.state,n.getters)}),e,Object.assign({},r))},$.prototype.replaceState=function(t){var e=this;this._withCommit((function(){e._state.data=t}))},$.prototype.registerModule=function(t,e,r){void 0===r&&(r={}),"string"==typeof t&&(t=[t]),this._modules.register(t,e),_(this,this.state,t,this._modules.get(t),r.preserveState),x(this,this.state)},$.prototype.unregisterModule=function(t){var e=this;"string"==typeof t&&(t=[t]),this._modules.unregister(t),this._withCommit((function(){delete A(e.state,t.slice(0,-1))[t[t.length-1]]})),S(this)},$.prototype.hasModule=function(t){return"string"==typeof t&&(t=[t]),this._modules.isRegistered(t)},$.prototype.hotUpdate=function(t){this._modules.update(t),S(this,!0)},$.prototype._withCommit=function(t){var e=this._committing;this._committing=!0,t(),this._committing=e},Object.defineProperties($.prototype,z);Y((function(t,e){var r={};return J(e).forEach((function(e){var n=e.key,o=e.val;r[n]=function(){var e=this.$store.state,r=this.$store.getters;if(t){var n=K(this.$store,"mapState",t);if(!n)return;e=n.context.state,r=n.context.getters}return"function"==typeof o?o.call(this,e,r):e[o]},r[n].vuex=!0})),r}));var W=Y((function(t,e){var r={};return J(e).forEach((function(e){var n=e.key,o=e.val;r[n]=function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.$store.commit;if(t){var i=K(this.$store,"mapMutations",t);if(!i)return;n=i.context.commit}return"function"==typeof o?o.apply(this,[n].concat(e)):n.apply(this.$store,[o].concat(e))}})),r})),G=Y((function(t,e){var r={};return J(e).forEach((function(e){var n=e.key,o=e.val;o=t+o,r[n]=function(){if(!t||K(this.$store,"mapGetters",t))return this.$store.getters[o]},r[n].vuex=!0})),r}));Y((function(t,e){var r={};return J(e).forEach((function(e){var n=e.key,o=e.val;r[n]=function(){for(var e=[],r=arguments.length;r--;)e[r]=arguments[r];var n=this.$store.dispatch;if(t){var i=K(this.$store,"mapActions",t);if(!i)return;n=i.context.dispatch}return"function"==typeof o?o.apply(this,[n].concat(e)):n.apply(this.$store,[o].concat(e))}})),r}));function J(t){return function(t){return Array.isArray(t)||O(t)}(t)?Array.isArray(t)?t.map((function(t){return{key:t,val:t}})):Object.keys(t).map((function(e){return{key:e,val:t[e]}})):[]}function Y(t){return function(e,r){return"string"!=typeof e?(r=e,e=""):"/"!==e.charAt(e.length-1)&&(e+="/"),t(e,r)}}function K(t,e,r){return t._modulesNamespaceMap[r]}var Q=r(8336),X=r(4666),Z=r.n(X);function tt(t){return Boolean(!Z()(t)&&""!==t)}function et(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function rt(t){for(var e=1;e1?window.history.back():!this.navigateBackUsingHistory&&tt(t)?Nova.visit(t,{replace:!0}):Nova.visit("/")}}),computed:rt({},G(["canLeaveForm","canLeaveFormToPreviousPage"]))};function it(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function at(t){for(var e=1;e{const e=lt.call(t);return ht[e]||(ht[e]=e.slice(8,-1).toLowerCase())});var ht;const dt=t=>(t=t.toLowerCase(),e=>pt(e)===t),yt=t=>e=>typeof e===t,{isArray:vt}=Array,mt=yt("undefined");const gt=dt("ArrayBuffer");const bt=yt("string"),wt=yt("function"),Ot=yt("number"),Et=t=>null!==t&&"object"==typeof t,St=t=>{if("object"!==pt(t))return!1;const e=ft(t);return!(null!==e&&e!==Object.prototype&&null!==Object.getPrototypeOf(e)||Symbol.toStringTag in t||Symbol.iterator in t)},xt=dt("Date"),_t=dt("File"),jt=dt("Blob"),At=dt("FileList"),Pt=dt("URLSearchParams");function Rt(t,e,{allOwnKeys:r=!1}={}){if(null==t)return;let n,o;if("object"!=typeof t&&(t=[t]),vt(t))for(n=0,o=t.length;n0;)if(n=r[o],e===n.toLowerCase())return n;return null}const Nt="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:global,Ct=t=>!mt(t)&&t!==Nt;const Ft=(kt="undefined"!=typeof Uint8Array&&ft(Uint8Array),t=>kt&&t instanceof kt);var kt;const Lt=dt("HTMLFormElement"),Ut=(({hasOwnProperty:t})=>(e,r)=>t.call(e,r))(Object.prototype),It=dt("RegExp"),Dt=(t,e)=>{const r=Object.getOwnPropertyDescriptors(t),n={};Rt(r,((r,o)=>{let i;!1!==(i=e(r,o,t))&&(n[o]=i||r)})),Object.defineProperties(t,n)},Bt="abcdefghijklmnopqrstuvwxyz",Mt="0123456789",Vt={DIGIT:Mt,ALPHA:Bt,ALPHA_DIGIT:Bt+Bt.toUpperCase()+Mt};const qt=dt("AsyncFunction"),Ht={isArray:vt,isArrayBuffer:gt,isBuffer:function(t){return null!==t&&!mt(t)&&null!==t.constructor&&!mt(t.constructor)&&wt(t.constructor.isBuffer)&&t.constructor.isBuffer(t)},isFormData:t=>{let e;return t&&("function"==typeof FormData&&t instanceof FormData||wt(t.append)&&("formdata"===(e=pt(t))||"object"===e&&wt(t.toString)&&"[object FormData]"===t.toString()))},isArrayBufferView:function(t){let e;return e="undefined"!=typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&>(t.buffer),e},isString:bt,isNumber:Ot,isBoolean:t=>!0===t||!1===t,isObject:Et,isPlainObject:St,isUndefined:mt,isDate:xt,isFile:_t,isBlob:jt,isRegExp:It,isFunction:wt,isStream:t=>Et(t)&&wt(t.pipe),isURLSearchParams:Pt,isTypedArray:Ft,isFileList:At,forEach:Rt,merge:function t(){const{caseless:e}=Ct(this)&&this||{},r={},n=(n,o)=>{const i=e&&Tt(r,o)||o;St(r[i])&&St(n)?r[i]=t(r[i],n):St(n)?r[i]=t({},n):vt(n)?r[i]=n.slice():r[i]=n};for(let t=0,e=arguments.length;t(Rt(e,((e,n)=>{r&&wt(e)?t[n]=ct(e,r):t[n]=e}),{allOwnKeys:n}),t),trim:t=>t.trim?t.trim():t.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,""),stripBOM:t=>(65279===t.charCodeAt(0)&&(t=t.slice(1)),t),inherits:(t,e,r,n)=>{t.prototype=Object.create(e.prototype,n),t.prototype.constructor=t,Object.defineProperty(t,"super",{value:e.prototype}),r&&Object.assign(t.prototype,r)},toFlatObject:(t,e,r,n)=>{let o,i,a;const s={};if(e=e||{},null==t)return e;do{for(o=Object.getOwnPropertyNames(t),i=o.length;i-- >0;)a=o[i],n&&!n(a,t,e)||s[a]||(e[a]=t[a],s[a]=!0);t=!1!==r&&ft(t)}while(t&&(!r||r(t,e))&&t!==Object.prototype);return e},kindOf:pt,kindOfTest:dt,endsWith:(t,e,r)=>{t=String(t),(void 0===r||r>t.length)&&(r=t.length),r-=e.length;const n=t.indexOf(e,r);return-1!==n&&n===r},toArray:t=>{if(!t)return null;if(vt(t))return t;let e=t.length;if(!Ot(e))return null;const r=new Array(e);for(;e-- >0;)r[e]=t[e];return r},forEachEntry:(t,e)=>{const r=(t&&t[Symbol.iterator]).call(t);let n;for(;(n=r.next())&&!n.done;){const r=n.value;e.call(t,r[0],r[1])}},matchAll:(t,e)=>{let r;const n=[];for(;null!==(r=t.exec(e));)n.push(r);return n},isHTMLForm:Lt,hasOwnProperty:Ut,hasOwnProp:Ut,reduceDescriptors:Dt,freezeMethods:t=>{Dt(t,((e,r)=>{if(wt(t)&&-1!==["arguments","caller","callee"].indexOf(r))return!1;const n=t[r];wt(n)&&(e.enumerable=!1,"writable"in e?e.writable=!1:e.set||(e.set=()=>{throw Error("Can not rewrite read-only method '"+r+"'")}))}))},toObjectSet:(t,e)=>{const r={},n=t=>{t.forEach((t=>{r[t]=!0}))};return vt(t)?n(t):n(String(t).split(e)),r},toCamelCase:t=>t.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(t,e,r){return e.toUpperCase()+r})),noop:()=>{},toFiniteNumber:(t,e)=>(t=+t,Number.isFinite(t)?t:e),findKey:Tt,global:Nt,isContextDefined:Ct,ALPHABET:Vt,generateString:(t=16,e=Vt.ALPHA_DIGIT)=>{let r="";const{length:n}=e;for(;t--;)r+=e[Math.random()*n|0];return r},isSpecCompliantForm:function(t){return!!(t&&wt(t.append)&&"FormData"===t[Symbol.toStringTag]&&t[Symbol.iterator])},toJSONObject:t=>{const e=new Array(10),r=(t,n)=>{if(Et(t)){if(e.indexOf(t)>=0)return;if(!("toJSON"in t)){e[n]=t;const o=vt(t)?[]:{};return Rt(t,((t,e)=>{const i=r(t,n+1);!mt(i)&&(o[e]=i)})),e[n]=void 0,o}}return t};return r(t,0)},isAsyncFn:qt,isThenable:t=>t&&(Et(t)||wt(t))&&wt(t.then)&&wt(t.catch)};function $t(t,e,r,n,o){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=t,this.name="AxiosError",e&&(this.code=e),r&&(this.config=r),n&&(this.request=n),o&&(this.response=o)}Ht.inherits($t,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:Ht.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const zt=$t.prototype,Wt={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((t=>{Wt[t]={value:t}})),Object.defineProperties($t,Wt),Object.defineProperty(zt,"isAxiosError",{value:!0}),$t.from=(t,e,r,n,o,i)=>{const a=Object.create(zt);return Ht.toFlatObject(t,a,(function(t){return t!==Error.prototype}),(t=>"isAxiosError"!==t)),$t.call(a,t.message,e,r,n,o),a.cause=t,a.name=t.name,i&&Object.assign(a,i),a};const Gt=$t;var Jt=r(9233).lW;function Yt(t){return Ht.isPlainObject(t)||Ht.isArray(t)}function Kt(t){return Ht.endsWith(t,"[]")?t.slice(0,-2):t}function Qt(t,e,r){return t?t.concat(e).map((function(t,e){return t=Kt(t),!r&&e?"["+t+"]":t})).join(r?".":""):e}const Xt=Ht.toFlatObject(Ht,{},null,(function(t){return/^is[A-Z]/.test(t)}));const Zt=function(t,e,r){if(!Ht.isObject(t))throw new TypeError("target must be an object");e=e||new FormData;const n=(r=Ht.toFlatObject(r,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(t,e){return!Ht.isUndefined(e[t])}))).metaTokens,o=r.visitor||c,i=r.dots,a=r.indexes,s=(r.Blob||"undefined"!=typeof Blob&&Blob)&&Ht.isSpecCompliantForm(e);if(!Ht.isFunction(o))throw new TypeError("visitor must be a function");function u(t){if(null===t)return"";if(Ht.isDate(t))return t.toISOString();if(!s&&Ht.isBlob(t))throw new Gt("Blob is not supported. Use a Buffer instead.");return Ht.isArrayBuffer(t)||Ht.isTypedArray(t)?s&&"function"==typeof Blob?new Blob([t]):Jt.from(t):t}function c(t,r,o){let s=t;if(t&&!o&&"object"==typeof t)if(Ht.endsWith(r,"{}"))r=n?r:r.slice(0,-2),t=JSON.stringify(t);else if(Ht.isArray(t)&&function(t){return Ht.isArray(t)&&!t.some(Yt)}(t)||(Ht.isFileList(t)||Ht.endsWith(r,"[]"))&&(s=Ht.toArray(t)))return r=Kt(r),s.forEach((function(t,n){!Ht.isUndefined(t)&&null!==t&&e.append(!0===a?Qt([r],n,i):null===a?r:r+"[]",u(t))})),!1;return!!Yt(t)||(e.append(Qt(o,r,i),u(t)),!1)}const l=[],f=Object.assign(Xt,{defaultVisitor:c,convertValue:u,isVisitable:Yt});if(!Ht.isObject(t))throw new TypeError("data must be an object");return function t(r,n){if(!Ht.isUndefined(r)){if(-1!==l.indexOf(r))throw Error("Circular reference detected in "+n.join("."));l.push(r),Ht.forEach(r,(function(r,i){!0===(!(Ht.isUndefined(r)||null===r)&&o.call(e,r,Ht.isString(i)?i.trim():i,n,f))&&t(r,n?n.concat(i):[i])})),l.pop()}}(t),e};function te(t){const e={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(t).replace(/[!'()~]|%20|%00/g,(function(t){return e[t]}))}function ee(t,e){this._pairs=[],t&&Zt(t,this,e)}const re=ee.prototype;re.append=function(t,e){this._pairs.push([t,e])},re.toString=function(t){const e=t?function(e){return t.call(this,e,te)}:te;return this._pairs.map((function(t){return e(t[0])+"="+e(t[1])}),"").join("&")};const ne=ee;function oe(t){return encodeURIComponent(t).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function ie(t,e,r){if(!e)return t;const n=r&&r.encode||oe,o=r&&r.serialize;let i;if(i=o?o(e,r):Ht.isURLSearchParams(e)?e.toString():new ne(e,r).toString(n),i){const e=t.indexOf("#");-1!==e&&(t=t.slice(0,e)),t+=(-1===t.indexOf("?")?"?":"&")+i}return t}const ae=class{constructor(){this.handlers=[]}use(t,e,r){return this.handlers.push({fulfilled:t,rejected:e,synchronous:!!r&&r.synchronous,runWhen:r?r.runWhen:null}),this.handlers.length-1}eject(t){this.handlers[t]&&(this.handlers[t]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(t){Ht.forEach(this.handlers,(function(e){null!==e&&t(e)}))}},se={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ue={isBrowser:!0,classes:{URLSearchParams:"undefined"!=typeof URLSearchParams?URLSearchParams:ne,FormData:"undefined"!=typeof FormData?FormData:null,Blob:"undefined"!=typeof Blob?Blob:null},protocols:["http","https","file","blob","url","data"]},ce="undefined"!=typeof window&&"undefined"!=typeof document,le=(fe="undefined"!=typeof navigator&&navigator.product,ce&&["ReactNative","NativeScript","NS"].indexOf(fe)<0);var fe;const pe="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"==typeof self.importScripts,he={...n,...ue};const de=function(t){function e(t,r,n,o){let i=t[o++];const a=Number.isFinite(+i),s=o>=t.length;if(i=!i&&Ht.isArray(n)?n.length:i,s)return Ht.hasOwnProp(n,i)?n[i]=[n[i],r]:n[i]=r,!a;n[i]&&Ht.isObject(n[i])||(n[i]=[]);return e(t,r,n[i],o)&&Ht.isArray(n[i])&&(n[i]=function(t){const e={},r=Object.keys(t);let n;const o=r.length;let i;for(n=0;n{e(function(t){return Ht.matchAll(/\w+|\[(\w*)]/g,t).map((t=>"[]"===t[0]?"":t[1]||t[0]))}(t),n,r,0)})),r}return null};const ye={transitional:se,adapter:["xhr","http"],transformRequest:[function(t,e){const r=e.getContentType()||"",n=r.indexOf("application/json")>-1,o=Ht.isObject(t);o&&Ht.isHTMLForm(t)&&(t=new FormData(t));if(Ht.isFormData(t))return n&&n?JSON.stringify(de(t)):t;if(Ht.isArrayBuffer(t)||Ht.isBuffer(t)||Ht.isStream(t)||Ht.isFile(t)||Ht.isBlob(t))return t;if(Ht.isArrayBufferView(t))return t.buffer;if(Ht.isURLSearchParams(t))return e.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),t.toString();let i;if(o){if(r.indexOf("application/x-www-form-urlencoded")>-1)return function(t,e){return Zt(t,new he.classes.URLSearchParams,Object.assign({visitor:function(t,e,r,n){return he.isNode&&Ht.isBuffer(t)?(this.append(e,t.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},e))}(t,this.formSerializer).toString();if((i=Ht.isFileList(t))||r.indexOf("multipart/form-data")>-1){const e=this.env&&this.env.FormData;return Zt(i?{"files[]":t}:t,e&&new e,this.formSerializer)}}return o||n?(e.setContentType("application/json",!1),function(t,e,r){if(Ht.isString(t))try{return(e||JSON.parse)(t),Ht.trim(t)}catch(t){if("SyntaxError"!==t.name)throw t}return(r||JSON.stringify)(t)}(t)):t}],transformResponse:[function(t){const e=this.transitional||ye.transitional,r=e&&e.forcedJSONParsing,n="json"===this.responseType;if(t&&Ht.isString(t)&&(r&&!this.responseType||n)){const r=!(e&&e.silentJSONParsing)&&n;try{return JSON.parse(t)}catch(t){if(r){if("SyntaxError"===t.name)throw Gt.from(t,Gt.ERR_BAD_RESPONSE,this,null,this.response);throw t}}}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:he.classes.FormData,Blob:he.classes.Blob},validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};Ht.forEach(["delete","get","head","post","put","patch"],(t=>{ye.headers[t]={}}));const ve=ye,me=Ht.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]),ge=Symbol("internals");function be(t){return t&&String(t).trim().toLowerCase()}function we(t){return!1===t||null==t?t:Ht.isArray(t)?t.map(we):String(t)}function Oe(t,e,r,n,o){return Ht.isFunction(n)?n.call(this,e,r):(o&&(e=r),Ht.isString(e)?Ht.isString(n)?-1!==e.indexOf(n):Ht.isRegExp(n)?n.test(e):void 0:void 0)}class Ee{constructor(t){t&&this.set(t)}set(t,e,r){const n=this;function o(t,e,r){const o=be(e);if(!o)throw new Error("header name must be a non-empty string");const i=Ht.findKey(n,o);(!i||void 0===n[i]||!0===r||void 0===r&&!1!==n[i])&&(n[i||e]=we(t))}const i=(t,e)=>Ht.forEach(t,((t,r)=>o(t,r,e)));return Ht.isPlainObject(t)||t instanceof this.constructor?i(t,e):Ht.isString(t)&&(t=t.trim())&&!/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(t.trim())?i((t=>{const e={};let r,n,o;return t&&t.split("\n").forEach((function(t){o=t.indexOf(":"),r=t.substring(0,o).trim().toLowerCase(),n=t.substring(o+1).trim(),!r||e[r]&&me[r]||("set-cookie"===r?e[r]?e[r].push(n):e[r]=[n]:e[r]=e[r]?e[r]+", "+n:n)})),e})(t),e):null!=t&&o(e,t,r),this}get(t,e){if(t=be(t)){const r=Ht.findKey(this,t);if(r){const t=this[r];if(!e)return t;if(!0===e)return function(t){const e=Object.create(null),r=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;for(;n=r.exec(t);)e[n[1]]=n[2];return e}(t);if(Ht.isFunction(e))return e.call(this,t,r);if(Ht.isRegExp(e))return e.exec(t);throw new TypeError("parser must be boolean|regexp|function")}}}has(t,e){if(t=be(t)){const r=Ht.findKey(this,t);return!(!r||void 0===this[r]||e&&!Oe(0,this[r],r,e))}return!1}delete(t,e){const r=this;let n=!1;function o(t){if(t=be(t)){const o=Ht.findKey(r,t);!o||e&&!Oe(0,r[o],o,e)||(delete r[o],n=!0)}}return Ht.isArray(t)?t.forEach(o):o(t),n}clear(t){const e=Object.keys(this);let r=e.length,n=!1;for(;r--;){const o=e[r];t&&!Oe(0,this[o],o,t,!0)||(delete this[o],n=!0)}return n}normalize(t){const e=this,r={};return Ht.forEach(this,((n,o)=>{const i=Ht.findKey(r,o);if(i)return e[i]=we(n),void delete e[o];const a=t?function(t){return t.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((t,e,r)=>e.toUpperCase()+r))}(o):String(o).trim();a!==o&&delete e[o],e[a]=we(n),r[a]=!0})),this}concat(...t){return this.constructor.concat(this,...t)}toJSON(t){const e=Object.create(null);return Ht.forEach(this,((r,n)=>{null!=r&&!1!==r&&(e[n]=t&&Ht.isArray(r)?r.join(", "):r)})),e}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([t,e])=>t+": "+e)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...e){const r=new this(t);return e.forEach((t=>r.set(t))),r}static accessor(t){const e=(this[ge]=this[ge]={accessors:{}}).accessors,r=this.prototype;function n(t){const n=be(t);e[n]||(!function(t,e){const r=Ht.toCamelCase(" "+e);["get","set","has"].forEach((n=>{Object.defineProperty(t,n+r,{value:function(t,r,o){return this[n].call(this,e,t,r,o)},configurable:!0})}))}(r,t),e[n]=!0)}return Ht.isArray(t)?t.forEach(n):n(t),this}}Ee.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),Ht.reduceDescriptors(Ee.prototype,(({value:t},e)=>{let r=e[0].toUpperCase()+e.slice(1);return{get:()=>t,set(t){this[r]=t}}})),Ht.freezeMethods(Ee);const Se=Ee;function xe(t,e){const r=this||ve,n=e||r,o=Se.from(n.headers);let i=n.data;return Ht.forEach(t,(function(t){i=t.call(r,i,o.normalize(),e?e.status:void 0)})),o.normalize(),i}function _e(t){return!(!t||!t.__CANCEL__)}function je(t,e,r){Gt.call(this,null==t?"canceled":t,Gt.ERR_CANCELED,e,r),this.name="CanceledError"}Ht.inherits(je,Gt,{__CANCEL__:!0});const Ae=je;const Pe=he.hasStandardBrowserEnv?{write(t,e,r,n,o,i){const a=[t+"="+encodeURIComponent(e)];Ht.isNumber(r)&&a.push("expires="+new Date(r).toGMTString()),Ht.isString(n)&&a.push("path="+n),Ht.isString(o)&&a.push("domain="+o),!0===i&&a.push("secure"),document.cookie=a.join("; ")},read(t){const e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove(t){this.write(t,"",Date.now()-864e5)}}:{write(){},read:()=>null,remove(){}};function Re(t,e){return t&&!/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)?function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}(t,e):e}const Te=he.hasStandardBrowserEnv?function(){const t=/(msie|trident)/i.test(navigator.userAgent),e=document.createElement("a");let r;function n(r){let n=r;return t&&(e.setAttribute("href",n),n=e.href),e.setAttribute("href",n),{href:e.href,protocol:e.protocol?e.protocol.replace(/:$/,""):"",host:e.host,search:e.search?e.search.replace(/^\?/,""):"",hash:e.hash?e.hash.replace(/^#/,""):"",hostname:e.hostname,port:e.port,pathname:"/"===e.pathname.charAt(0)?e.pathname:"/"+e.pathname}}return r=n(window.location.href),function(t){const e=Ht.isString(t)?n(t):t;return e.protocol===r.protocol&&e.host===r.host}}():function(){return!0};const Ne=function(t,e){t=t||10;const r=new Array(t),n=new Array(t);let o,i=0,a=0;return e=void 0!==e?e:1e3,function(s){const u=Date.now(),c=n[a];o||(o=u),r[i]=s,n[i]=u;let l=a,f=0;for(;l!==i;)f+=r[l++],l%=t;if(i=(i+1)%t,i===a&&(a=(a+1)%t),u-o{const i=o.loaded,a=o.lengthComputable?o.total:void 0,s=i-r,u=n(s);r=i;const c={loaded:i,total:a,progress:a?i/a:void 0,bytes:s,rate:u||void 0,estimated:u&&a&&i<=a?(a-i)/u:void 0,event:o};c[e?"download":"upload"]=!0,t(c)}}const Fe={http:null,xhr:"undefined"!=typeof XMLHttpRequest&&function(t){return new Promise((function(e,r){let n=t.data;const o=Se.from(t.headers).normalize();let i,a,{responseType:s,withXSRFToken:u}=t;function c(){t.cancelToken&&t.cancelToken.unsubscribe(i),t.signal&&t.signal.removeEventListener("abort",i)}if(Ht.isFormData(n))if(he.hasStandardBrowserEnv||he.hasStandardBrowserWebWorkerEnv)o.setContentType(!1);else if(!1!==(a=o.getContentType())){const[t,...e]=a?a.split(";").map((t=>t.trim())).filter(Boolean):[];o.setContentType([t||"multipart/form-data",...e].join("; "))}let l=new XMLHttpRequest;if(t.auth){const e=t.auth.username||"",r=t.auth.password?unescape(encodeURIComponent(t.auth.password)):"";o.set("Authorization","Basic "+btoa(e+":"+r))}const f=Re(t.baseURL,t.url);function p(){if(!l)return;const n=Se.from("getAllResponseHeaders"in l&&l.getAllResponseHeaders());!function(t,e,r){const n=r.config.validateStatus;r.status&&n&&!n(r.status)?e(new Gt("Request failed with status code "+r.status,[Gt.ERR_BAD_REQUEST,Gt.ERR_BAD_RESPONSE][Math.floor(r.status/100)-4],r.config,r.request,r)):t(r)}((function(t){e(t),c()}),(function(t){r(t),c()}),{data:s&&"text"!==s&&"json"!==s?l.response:l.responseText,status:l.status,statusText:l.statusText,headers:n,config:t,request:l}),l=null}if(l.open(t.method.toUpperCase(),ie(f,t.params,t.paramsSerializer),!0),l.timeout=t.timeout,"onloadend"in l?l.onloadend=p:l.onreadystatechange=function(){l&&4===l.readyState&&(0!==l.status||l.responseURL&&0===l.responseURL.indexOf("file:"))&&setTimeout(p)},l.onabort=function(){l&&(r(new Gt("Request aborted",Gt.ECONNABORTED,t,l)),l=null)},l.onerror=function(){r(new Gt("Network Error",Gt.ERR_NETWORK,t,l)),l=null},l.ontimeout=function(){let e=t.timeout?"timeout of "+t.timeout+"ms exceeded":"timeout exceeded";const n=t.transitional||se;t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),r(new Gt(e,n.clarifyTimeoutError?Gt.ETIMEDOUT:Gt.ECONNABORTED,t,l)),l=null},he.hasStandardBrowserEnv&&(u&&Ht.isFunction(u)&&(u=u(t)),u||!1!==u&&Te(f))){const e=t.xsrfHeaderName&&t.xsrfCookieName&&Pe.read(t.xsrfCookieName);e&&o.set(t.xsrfHeaderName,e)}void 0===n&&o.setContentType(null),"setRequestHeader"in l&&Ht.forEach(o.toJSON(),(function(t,e){l.setRequestHeader(e,t)})),Ht.isUndefined(t.withCredentials)||(l.withCredentials=!!t.withCredentials),s&&"json"!==s&&(l.responseType=t.responseType),"function"==typeof t.onDownloadProgress&&l.addEventListener("progress",Ce(t.onDownloadProgress,!0)),"function"==typeof t.onUploadProgress&&l.upload&&l.upload.addEventListener("progress",Ce(t.onUploadProgress)),(t.cancelToken||t.signal)&&(i=e=>{l&&(r(!e||e.type?new Ae(null,t,l):e),l.abort(),l=null)},t.cancelToken&&t.cancelToken.subscribe(i),t.signal&&(t.signal.aborted?i():t.signal.addEventListener("abort",i)));const h=function(t){const e=/^([-+\w]{1,25})(:?\/\/|:)/.exec(t);return e&&e[1]||""}(f);h&&-1===he.protocols.indexOf(h)?r(new Gt("Unsupported protocol "+h+":",Gt.ERR_BAD_REQUEST,t)):l.send(n||null)}))}};Ht.forEach(Fe,((t,e)=>{if(t){try{Object.defineProperty(t,"name",{value:e})}catch(t){}Object.defineProperty(t,"adapterName",{value:e})}}));const ke=t=>`- ${t}`,Le=t=>Ht.isFunction(t)||null===t||!1===t,Ue=t=>{t=Ht.isArray(t)?t:[t];const{length:e}=t;let r,n;const o={};for(let i=0;i`adapter ${t} `+(!1===e?"is not supported by the environment":"is not available in the build")));let r=e?t.length>1?"since :\n"+t.map(ke).join("\n"):" "+ke(t[0]):"as no adapter specified";throw new Gt("There is no suitable adapter to dispatch the request "+r,"ERR_NOT_SUPPORT")}return n};function Ie(t){if(t.cancelToken&&t.cancelToken.throwIfRequested(),t.signal&&t.signal.aborted)throw new Ae(null,t)}function De(t){Ie(t),t.headers=Se.from(t.headers),t.data=xe.call(t,t.transformRequest),-1!==["post","put","patch"].indexOf(t.method)&&t.headers.setContentType("application/x-www-form-urlencoded",!1);return Ue(t.adapter||ve.adapter)(t).then((function(e){return Ie(t),e.data=xe.call(t,t.transformResponse,e),e.headers=Se.from(e.headers),e}),(function(e){return _e(e)||(Ie(t),e&&e.response&&(e.response.data=xe.call(t,t.transformResponse,e.response),e.response.headers=Se.from(e.response.headers))),Promise.reject(e)}))}const Be=t=>t instanceof Se?t.toJSON():t;function Me(t,e){e=e||{};const r={};function n(t,e,r){return Ht.isPlainObject(t)&&Ht.isPlainObject(e)?Ht.merge.call({caseless:r},t,e):Ht.isPlainObject(e)?Ht.merge({},e):Ht.isArray(e)?e.slice():e}function o(t,e,r){return Ht.isUndefined(e)?Ht.isUndefined(t)?void 0:n(void 0,t,r):n(t,e,r)}function i(t,e){if(!Ht.isUndefined(e))return n(void 0,e)}function a(t,e){return Ht.isUndefined(e)?Ht.isUndefined(t)?void 0:n(void 0,t):n(void 0,e)}function s(r,o,i){return i in e?n(r,o):i in t?n(void 0,r):void 0}const u={url:i,method:i,data:i,baseURL:a,transformRequest:a,transformResponse:a,paramsSerializer:a,timeout:a,timeoutMessage:a,withCredentials:a,withXSRFToken:a,adapter:a,responseType:a,xsrfCookieName:a,xsrfHeaderName:a,onUploadProgress:a,onDownloadProgress:a,decompress:a,maxContentLength:a,maxBodyLength:a,beforeRedirect:a,transport:a,httpAgent:a,httpsAgent:a,cancelToken:a,socketPath:a,responseEncoding:a,validateStatus:s,headers:(t,e)=>o(Be(t),Be(e),!0)};return Ht.forEach(Object.keys(Object.assign({},t,e)),(function(n){const i=u[n]||o,a=i(t[n],e[n],n);Ht.isUndefined(a)&&i!==s||(r[n]=a)})),r}const Ve="1.6.2",qe={};["object","boolean","number","function","string","symbol"].forEach(((t,e)=>{qe[t]=function(r){return typeof r===t||"a"+(e<1?"n ":" ")+t}}));const He={};qe.transitional=function(t,e,r){function n(t,e){return"[Axios v1.6.2] Transitional option '"+t+"'"+e+(r?". "+r:"")}return(r,o,i)=>{if(!1===t)throw new Gt(n(o," has been removed"+(e?" in "+e:"")),Gt.ERR_DEPRECATED);return e&&!He[o]&&(He[o]=!0,console.warn(n(o," has been deprecated since v"+e+" and will be removed in the near future"))),!t||t(r,o,i)}};const $e={assertOptions:function(t,e,r){if("object"!=typeof t)throw new Gt("options must be an object",Gt.ERR_BAD_OPTION_VALUE);const n=Object.keys(t);let o=n.length;for(;o-- >0;){const i=n[o],a=e[i];if(a){const e=t[i],r=void 0===e||a(e,i,t);if(!0!==r)throw new Gt("option "+i+" must be "+r,Gt.ERR_BAD_OPTION_VALUE)}else if(!0!==r)throw new Gt("Unknown option "+i,Gt.ERR_BAD_OPTION)}},validators:qe},ze=$e.validators;class We{constructor(t){this.defaults=t,this.interceptors={request:new ae,response:new ae}}request(t,e){"string"==typeof t?(e=e||{}).url=t:e=t||{},e=Me(this.defaults,e);const{transitional:r,paramsSerializer:n,headers:o}=e;void 0!==r&&$e.assertOptions(r,{silentJSONParsing:ze.transitional(ze.boolean),forcedJSONParsing:ze.transitional(ze.boolean),clarifyTimeoutError:ze.transitional(ze.boolean)},!1),null!=n&&(Ht.isFunction(n)?e.paramsSerializer={serialize:n}:$e.assertOptions(n,{encode:ze.function,serialize:ze.function},!0)),e.method=(e.method||this.defaults.method||"get").toLowerCase();let i=o&&Ht.merge(o.common,o[e.method]);o&&Ht.forEach(["delete","get","head","post","put","patch","common"],(t=>{delete o[t]})),e.headers=Se.concat(i,o);const a=[];let s=!0;this.interceptors.request.forEach((function(t){"function"==typeof t.runWhen&&!1===t.runWhen(e)||(s=s&&t.synchronous,a.unshift(t.fulfilled,t.rejected))}));const u=[];let c;this.interceptors.response.forEach((function(t){u.push(t.fulfilled,t.rejected)}));let l,f=0;if(!s){const t=[De.bind(this),void 0];for(t.unshift.apply(t,a),t.push.apply(t,u),l=t.length,c=Promise.resolve(e);f{if(!r._listeners)return;let e=r._listeners.length;for(;e-- >0;)r._listeners[e](t);r._listeners=null})),this.promise.then=t=>{let e;const n=new Promise((t=>{r.subscribe(t),e=t})).then(t);return n.cancel=function(){r.unsubscribe(e)},n},t((function(t,n,o){r.reason||(r.reason=new Ae(t,n,o),e(r.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){this.reason?t(this.reason):this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const e=this._listeners.indexOf(t);-1!==e&&this._listeners.splice(e,1)}static source(){let t;return{token:new Je((function(e){t=e})),cancel:t}}}const Ye=Je;const Ke={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ke).forEach((([t,e])=>{Ke[e]=t}));const Qe=Ke;const Xe=function t(e){const r=new Ge(e),n=ct(Ge.prototype.request,r);return Ht.extend(n,Ge.prototype,r,{allOwnKeys:!0}),Ht.extend(n,r,null,{allOwnKeys:!0}),n.create=function(r){return t(Me(e,r))},n}(ve);Xe.Axios=Ge,Xe.CanceledError=Ae,Xe.CancelToken=Ye,Xe.isCancel=_e,Xe.VERSION=Ve,Xe.toFormData=Zt,Xe.AxiosError=Gt,Xe.Cancel=Xe.CanceledError,Xe.all=function(t){return Promise.all(t)},Xe.spread=function(t){return function(e){return t.apply(null,e)}},Xe.isAxiosError=function(t){return Ht.isObject(t)&&!0===t.isAxiosError},Xe.mergeConfig=Me,Xe.AxiosHeaders=Se,Xe.formToJSON=t=>de(Ht.isHTMLForm(t)?new FormData(t):t),Xe.getAdapter=Ue,Xe.HttpStatusCode=Qe,Xe.default=Xe;const Ze=Xe,{Axios:tr,AxiosError:er,CanceledError:rr,isCancel:nr,CancelToken:or,VERSION:ir,all:ar,Cancel:sr,isAxiosError:ur,spread:cr,toFormData:lr,AxiosHeaders:fr,HttpStatusCode:pr,formToJSON:hr,getAdapter:dr,mergeConfig:yr}=Ze;var vr=r(9751),mr=r.n(vr),gr=r(8960),br=r.n(gr),wr=r(7847),Or=r.n(wr),Er=r(4278),Sr=r.n(Er),xr=r(1694),_r=r.n(xr),jr=r(2487),Ar=r.n(jr);const Pr={props:{formUniqueId:{type:String}},methods:{emitFieldValue:function(t,e){Nova.$emit("".concat(t,"-value"),e),!0===this.hasFormUniqueId&&Nova.$emit("".concat(this.formUniqueId,"-").concat(t,"-value"),e)},emitFieldValueChange:function(t,e){Nova.$emit("".concat(t,"-change"),e),!0===this.hasFormUniqueId&&Nova.$emit("".concat(this.formUniqueId,"-").concat(t,"-change"),e)},getFieldAttributeValueEventName:function(t){return!0===this.hasFormUniqueId?"".concat(this.formUniqueId,"-").concat(t,"-value"):"".concat(t,"-value")},getFieldAttributeChangeEventName:function(t){return!0===this.hasFormUniqueId?"".concat(this.formUniqueId,"-").concat(t,"-change"):"".concat(t,"-change")}},computed:{fieldAttribute:function(){return this.field.attribute},hasFormUniqueId:function(){return!Z()(this.formUniqueId)&&""!==this.formUniqueId},fieldAttributeValueEventName:function(){return this.getFieldAttributeValueEventName(this.fieldAttribute)},fieldAttributeChangeEventName:function(){return this.getFieldAttributeChangeEventName(this.fieldAttribute)}}};function Rr(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,n)}return r}function Tr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}const Nr={extends:Pr,props:function(t){for(var e=1;e=0;i--)r=r.replace(n[i],o[i])}else console.error("Translation '".concat(r,"' for key '").concat(e,"' contains a null replacement."))})),r}const qr={methods:{__:function(t,e){return Vr(t,e)}}},Hr={created:function(){Nova.$on("metric-refresh",this.fetch),Nova.$on("resources-deleted",this.fetch),Nova.$on("resources-restored",this.fetch),this.card.refreshWhenActionRuns&&Nova.$on("action-executed",this.fetch)},beforeUnmount:function(){Nova.$off("metric-refresh",this.fetch),Nova.$off("resources-deleted",this.fetch),Nova.$off("resources-restored",this.fetch),Nova.$off("action-executed",this.fetch)}},$r={props:["field"],computed:{fieldAttribute:function(){return this.field.attribute},fieldHasValue:function(){return tt(this.field.value)},usesCustomizedDisplay:function(){return this.field.usesCustomizedDisplay&&tt(this.field.displayedAs)},fieldValue:function(){return this.usesCustomizedDisplay||this.fieldHasValue?String(this.field.displayedAs||this.field.value):null},shouldDisplayAsHtml:function(){return this.field.asHtml}}};function zr(t){return zr="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},zr(t)}function Wr(t){return function(t){if(Array.isArray(t))return t}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(!t)return;if("string"==typeof t)return Gr(t,e);var r=Object.prototype.toString.call(t).slice(8,-1);"Object"===r&&t.constructor&&(r=t.constructor.name);if("Map"===r||"Set"===r)return Array.from(t);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Gr(t,e)}(t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function Gr(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=new Array(e);r=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(s&&u){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:x(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},t}function Yr(t,e,r,n,o,i,a){try{var s=t[i](a),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}const Kr={emits:["file-upload-started","file-upload-finished"],props:s(["resourceName"]),created:function(){var t,e=this;return(t=Jr().mark((function t(){var r,n;return Jr().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.field.withFiles){t.next=6;break}return t.next=3,Nova.request().get("/nova-api/".concat(e.resourceName,"/field-attachment/").concat(e.fieldAttribute,"/draftId"));case 3:r=t.sent,n=r.data.draftId,e.draftId=n;case 6:case"end":return t.stop()}}),t)})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){Yr(i,n,o,a,s,"next",t)}function s(t){Yr(i,n,o,a,s,"throw",t)}a(void 0)}))})()},data:function(){return{draftId:null}},methods:{uploadAttachment:function(t,e){var r=this,n=e.onUploadProgress,o=e.onCompleted,i=e.onFailure,a=new FormData;if(a.append("Content-Type",t.type),a.append("attachment",t),a.append("draftId",this.draftId),Z()(n)&&(n=function(){}),Z()(i)&&(i=function(){}),Z()(o))throw"Missing onCompleted parameter";this.$emit("file-upload-started"),Nova.request().post("/nova-api/".concat(this.resourceName,"/field-attachment/").concat(this.fieldAttribute),a,{onUploadProgress:n}).then((function(t){var e=t.data.url,n=o(e);return r.$emit("file-upload-finished"),n})).catch((function(t){if(i(t),422==t.response.status){var e=new Ur.D1(t.response.data.errors);Nova.error(r.__("An error occurred while uploading the file: :error",{error:e.first("attachment")}))}else Nova.error(r.__("An error occurred while uploading the file."))}))},removeAttachment:function(t){Nova.request().delete("/nova-api/".concat(this.resourceName,"/field-attachment/").concat(this.fieldAttribute),{params:{attachmentUrl:t}}).then((function(t){})).catch((function(t){}))},clearAttachments:function(){this.field.withFiles&&Nova.request().delete("/nova-api/".concat(this.resourceName,"/field-attachment/").concat(this.fieldAttribute,"/").concat(this.draftId)).then((function(t){})).catch((function(t){}))},fillAttachmentDraftId:function(t){var e=this.fieldAttribute,r=Wr(e.split("[")),n=r[0],o=r.slice(1);if(!Z()(o)&&o.length>0){var i=o.pop();e=o.length>0?"".concat(n,"[").concat(o.join("["),"[").concat(i.slice(0,-1),"DraftId]"):"".concat(n,"[").concat(i.slice(0,-1),"DraftId]")}else e="".concat(e,"DraftId");this.fillIfVisible(t,e,this.draftId)}}},Qr={props:{errors:{default:function(){return new Ur.D1}}},inject:{index:{default:null},viaParent:{default:null}},data:function(){return{errorClass:"form-input-border-error"}},computed:{errorClasses:function(){return this.hasError?[this.errorClass]:[]},fieldAttribute:function(){return this.field.attribute},validationKey:function(){return this.nestedValidationKey||this.field.validationKey},hasError:function(){return this.errors.has(this.validationKey)},firstError:function(){if(this.hasError)return this.errors.first(this.validationKey)},nestedAttribute:function(){if(this.viaParent)return"".concat(this.viaParent,"[").concat(this.index,"][").concat(this.field.attribute,"]")},nestedValidationKey:function(){if(this.viaParent)return"".concat(this.viaParent,".").concat(this.index,".fields.").concat(this.field.attribute)}}};var Xr=r(587),Zr=r.n(Xr);function tn(t){return tn="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},tn(t)}function en(){en=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function u(t,e,r,n){var o=e&&e.prototype instanceof f?e:f,i=Object.create(o.prototype),a=new S(n||[]);return i._invoke=function(t,e,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return _()}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var s=w(a,r);if(s){if(s===l)continue;return s}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var u=c(t,e,r);if("normal"===u.type){if(n=r.done?"completed":"suspendedYield",u.arg===l)continue;return{value:u.arg,done:r.done}}"throw"===u.type&&(n="completed",r.method="throw",r.arg=u.arg)}}}(t,r,a),i}function c(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=u;var l={};function f(){}function p(){}function h(){}var d={};s(d,o,(function(){return this}));var y=Object.getPrototypeOf,v=y&&y(y(x([])));v&&v!==e&&r.call(v,o)&&(d=v);var m=h.prototype=f.prototype=Object.create(d);function g(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function b(t,e){function n(o,i,a,s){var u=c(t[o],t,i);if("throw"!==u.type){var l=u.arg,f=l.value;return f&&"object"==tn(f)&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,a,s)}),(function(t){n("throw",t,a,s)})):e.resolve(f).then((function(t){l.value=t,a(l)}),(function(t){return n("throw",t,a,s)}))}s(u.arg)}var o;this._invoke=function(t,r){function i(){return new e((function(e,o){n(t,r,e,o)}))}return o=o?o.then(i,i):i()}}function w(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,w(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=c(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,l;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function O(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function S(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(O,this),this.reset(!0)}function x(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var s=r.call(i,"catchLoc"),u=r.call(i,"finallyLoc");if(s&&u){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:x(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},t}function rn(t,e,r,n,o,i,a){try{var s=t[i](a),u=s.value}catch(t){return void r(t)}s.done?e(u):Promise.resolve(u).then(n,o)}const nn={props:{loadCards:{type:Boolean,default:!0}},data:function(){return{cards:[]}},created:function(){this.fetchCards()},watch:{cardsEndpoint:function(){this.fetchCards()}},methods:{fetchCards:function(){var t,e=this;return(t=en().mark((function t(){var r,n;return en().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!e.loadCards){t.next=6;break}return t.next=3,Nova.request().get(e.cardsEndpoint,{params:e.extraCardParams});case 3:r=t.sent,n=r.data,e.cards=n;case 6:case"end":return t.stop()}}),t)})),function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function a(t){rn(i,n,o,a,s,"next",t)}function s(t){rn(i,n,o,a,s,"throw",t)}a(void 0)}))})()}},computed:{shouldShowCards:function(){return this.cards.length>0},hasDetailOnlyCards:function(){return Zr()(this.cards,(function(t){return 1==t.onlyOnDetail})).length>0},extraCardParams:function(){return null}}};var on=r(8459),an=r.n(on);const sn={emits:["field-shown","field-hidden"],data:function(){return{visibleFieldsForPanel:{}}},created:function(){var t=this;an()(this.panel.fields,(function(e){t.visibleFieldsForPanel[e.attribute]=e.visible}))},methods:{handleFieldShown:function(t){this.visibleFieldsForPanel[t]=!0,this.$emit("field-shown",t)},handleFieldHidden:function(t){this.visibleFieldsForPanel[t]=!1,this.$emit("field-hidden",t)}},computed:{visibleFieldsCount:function(){return Object.entries(Zr()(this.visibleFieldsForPanel,(function(t){return!0===t}))).length}}};function un(){return{__:function(t,e){return Vr(t,e)}}}},8336:(t,e,r)=>{function n(t){return t&&"object"==typeof t&&"default"in t?t.default:t}var o=n(r(7665)),i=r(6878),a=n(r(308));function s(){return(s=Object.assign?Object.assign.bind():function(t){for(var e=1;e0&&"back_forward"===window.performance.getEntriesByType("navigation")[0].type},r.handleBackForwardVisit=function(t){var e=this;window.history.state.version=t.version,this.setPage(window.history.state,{preserveScroll:!0,preserveState:!0}).then((function(){e.restoreScrollPositions(),b(t)}))},r.locationVisit=function(t,e){try{window.sessionStorage.setItem("inertiaLocationVisit",JSON.stringify({preserveScroll:e})),window.location.href=t.href,v(window.location).href===v(t).href&&window.location.reload()}catch(t){return!1}},r.isLocationVisit=function(){try{return null!==window.sessionStorage.getItem("inertiaLocationVisit")}catch(t){return!1}},r.handleLocationVisit=function(t){var e,r,n,o,i=this,a=JSON.parse(window.sessionStorage.getItem("inertiaLocationVisit")||"");window.sessionStorage.removeItem("inertiaLocationVisit"),t.url+=window.location.hash,t.rememberedState=null!=(e=null==(r=window.history.state)?void 0:r.rememberedState)?e:{},t.scrollRegions=null!=(n=null==(o=window.history.state)?void 0:o.scrollRegions)?n:[],this.setPage(t,{preserveScroll:a.preserveScroll,preserveState:!0}).then((function(){a.preserveScroll&&i.restoreScrollPositions(),b(t)}))},r.isLocationVisitResponse=function(t){return t&&409===t.status&&t.headers["x-inertia-location"]},r.isInertiaResponse=function(t){return null==t?void 0:t.headers["x-inertia"]},r.createVisitId=function(){return this.visitId={},this.visitId},r.cancelVisit=function(t,e){var r=e.cancelled,n=void 0!==r&&r,o=e.interrupted,i=void 0!==o&&o;!t||t.completed||t.cancelled||t.interrupted||(t.cancelToken.cancel(),t.onCancel(),t.completed=!1,t.cancelled=n,t.interrupted=i,g(t),t.onFinish(t))},r.finishVisit=function(t){t.cancelled||t.interrupted||(t.completed=!0,t.cancelled=!1,t.interrupted=!1,g(t),t.onFinish(t))},r.resolvePreserveOption=function(t,e){return"function"==typeof t?t(e):"errors"===t?Object.keys(e.props.errors||{}).length>0:t},r.visit=function(t,r){var n=this,i=void 0===r?{}:r,a=i.method,u=void 0===a?e.n$.GET:a,l=i.data,p=void 0===l?{}:l,h=i.replace,g=void 0!==h&&h,b=i.preserveScroll,w=void 0!==b&&b,O=i.preserveState,E=void 0!==O&&O,S=i.only,x=void 0===S?[]:S,_=i.headers,j=void 0===_?{}:_,A=i.errorBag,P=void 0===A?"":A,R=i.forceFormData,T=void 0!==R&&R,N=i.onCancelToken,C=void 0===N?function(){}:N,F=i.onBefore,k=void 0===F?function(){}:F,L=i.onStart,U=void 0===L?function(){}:L,I=i.onProgress,D=void 0===I?function(){}:I,B=i.onFinish,M=void 0===B?function(){}:B,V=i.onCancel,q=void 0===V?function(){}:V,H=i.onSuccess,$=void 0===H?function(){}:H,z=i.onError,W=void 0===z?function(){}:z,G=i.queryStringArrayFormat,J=void 0===G?"brackets":G,Y="string"==typeof t?d(t):t;if(!function t(e){return e instanceof File||e instanceof Blob||e instanceof FileList&&e.length>0||e instanceof FormData&&Array.from(e.values()).some((function(e){return t(e)}))||"object"==typeof e&&null!==e&&Object.values(e).some((function(e){return t(e)}))}(p)&&!T||p instanceof FormData||(p=f(p)),!(p instanceof FormData)){var K=y(u,Y,p,J),Q=K[1];Y=d(K[0]),p=Q}var X={url:Y,method:u,data:p,replace:g,preserveScroll:w,preserveState:E,only:x,headers:j,errorBag:P,forceFormData:T,queryStringArrayFormat:J,cancelled:!1,completed:!1,interrupted:!1};if(!1!==k(X)&&function(t){return m("before",{cancelable:!0,detail:{visit:t}})}(X)){this.activeVisit&&this.cancelVisit(this.activeVisit,{interrupted:!0}),this.saveScrollPositions();var Z=this.createVisitId();this.activeVisit=s({},X,{onCancelToken:C,onBefore:k,onStart:U,onProgress:D,onFinish:M,onCancel:q,onSuccess:$,onError:W,queryStringArrayFormat:J,cancelToken:o.CancelToken.source()}),C({cancel:function(){n.activeVisit&&n.cancelVisit(n.activeVisit,{cancelled:!0})}}),function(t){m("start",{detail:{visit:t}})}(X),U(X),o({method:u,url:v(Y).href,data:u===e.n$.GET?{}:p,params:u===e.n$.GET?p:{},cancelToken:this.activeVisit.cancelToken.token,headers:s({},j,{Accept:"text/html, application/xhtml+xml","X-Requested-With":"XMLHttpRequest","X-Inertia":!0},x.length?{"X-Inertia-Partial-Component":this.page.component,"X-Inertia-Partial-Data":x.join(",")}:{},P&&P.length?{"X-Inertia-Error-Bag":P}:{},this.page.version?{"X-Inertia-Version":this.page.version}:{}),onUploadProgress:function(t){p instanceof FormData&&(t.percentage=Math.round(t.loaded/t.total*100),function(t){m("progress",{detail:{progress:t}})}(t),D(t))}}).then((function(t){var e;if(!n.isInertiaResponse(t))return Promise.reject({response:t});var r=t.data;x.length&&r.component===n.page.component&&(r.props=s({},n.page.props,r.props)),w=n.resolvePreserveOption(w,r),(E=n.resolvePreserveOption(E,r))&&null!=(e=window.history.state)&&e.rememberedState&&r.component===n.page.component&&(r.rememberedState=window.history.state.rememberedState);var o=Y,i=d(r.url);return o.hash&&!i.hash&&v(o).href===i.href&&(i.hash=o.hash,r.url=i.href),n.setPage(r,{visitId:Z,replace:g,preserveScroll:w,preserveState:E})})).then((function(){var t=n.page.props.errors||{};if(Object.keys(t).length>0){var e=P?t[P]?t[P]:{}:t;return function(t){m("error",{detail:{errors:t}})}(e),W(e)}return m("success",{detail:{page:n.page}}),$(n.page)})).catch((function(t){if(n.isInertiaResponse(t.response))return n.setPage(t.response.data,{visitId:Z});if(n.isLocationVisitResponse(t.response)){var e=d(t.response.headers["x-inertia-location"]),r=Y;r.hash&&!e.hash&&v(r).href===e.href&&(e.hash=r.hash),n.locationVisit(e,!0===w)}else{if(!t.response)return Promise.reject(t);m("invalid",{cancelable:!0,detail:{response:t.response}})&&c.show(t.response.data)}})).then((function(){n.activeVisit&&n.finishVisit(n.activeVisit)})).catch((function(t){if(!o.isCancel(t)){var e=m("exception",{cancelable:!0,detail:{exception:t}});if(n.activeVisit&&n.finishVisit(n.activeVisit),e)return Promise.reject(t)}}))}},r.setPage=function(t,e){var r=this,n=void 0===e?{}:e,o=n.visitId,i=void 0===o?this.createVisitId():o,a=n.replace,s=void 0!==a&&a,u=n.preserveScroll,c=void 0!==u&&u,l=n.preserveState,f=void 0!==l&&l;return Promise.resolve(this.resolveComponent(t.component)).then((function(e){i===r.visitId&&(t.scrollRegions=t.scrollRegions||[],t.rememberedState=t.rememberedState||{},(s=s||d(t.url).href===window.location.href)?r.replaceState(t):r.pushState(t),r.swapComponent({component:e,page:t,preserveState:f}).then((function(){c||r.resetScrollPositions(),s||b(t)})))}))},r.pushState=function(t){this.page=t,window.history.pushState(t,"",t.url)},r.replaceState=function(t){this.page=t,window.history.replaceState(t,"",t.url)},r.handlePopstateEvent=function(t){var e=this;if(null!==t.state){var r=t.state,n=this.createVisitId();Promise.resolve(this.resolveComponent(r.component)).then((function(t){n===e.visitId&&(e.page=r,e.swapComponent({component:t,page:r,preserveState:!1}).then((function(){e.restoreScrollPositions(),b(r)})))}))}else{var o=d(this.page.url);o.hash=window.location.hash,this.replaceState(s({},this.page,{url:o.href})),this.resetScrollPositions()}},r.get=function(t,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(t,s({},n,{method:e.n$.GET,data:r}))},r.reload=function(t){return void 0===t&&(t={}),this.visit(window.location.href,s({},t,{preserveScroll:!0,preserveState:!0}))},r.replace=function(t,e){var r;return void 0===e&&(e={}),console.warn("Inertia.replace() has been deprecated and will be removed in a future release. Please use Inertia."+(null!=(r=e.method)?r:"get")+"() instead."),this.visit(t,s({preserveState:!0},e,{replace:!0}))},r.post=function(t,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(t,s({preserveState:!0},n,{method:e.n$.POST,data:r}))},r.put=function(t,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(t,s({preserveState:!0},n,{method:e.n$.PUT,data:r}))},r.patch=function(t,r,n){return void 0===r&&(r={}),void 0===n&&(n={}),this.visit(t,s({preserveState:!0},n,{method:e.n$.PATCH,data:r}))},r.delete=function(t,r){return void 0===r&&(r={}),this.visit(t,s({preserveState:!0},r,{method:e.n$.DELETE}))},r.remember=function(t,e){var r,n;void 0===e&&(e="default"),w||this.replaceState(s({},this.page,{rememberedState:s({},null==(r=this.page)?void 0:r.rememberedState,(n={},n[e]=t,n))}))},r.restore=function(t){var e,r;if(void 0===t&&(t="default"),!w)return null==(e=window.history.state)||null==(r=e.rememberedState)?void 0:r[t]},r.on=function(t,e){var r=function(t){var r=e(t);t.cancelable&&!t.defaultPrevented&&!1===r&&t.preventDefault()};return document.addEventListener("inertia:"+t,r),function(){return document.removeEventListener("inertia:"+t,r)}},t}(),E={buildDOMElement:function(t){var e=document.createElement("template");e.innerHTML=t;var r=e.content.firstChild;if(!t.startsWith("\n","\n\n\n","import { render } from \"./ErrorLayout.vue?vue&type=template&id=7543f7c0\"\nimport script from \"./ErrorLayout.vue?vue&type=script&lang=js\"\nexport * from \"./ErrorLayout.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"ErrorLayout.vue\"]])\n\nexport default __exports__","import { render } from \"./CustomError404.vue?vue&type=template&id=51aadfd6\"\nimport script from \"./CustomError404.vue?vue&type=script&lang=js\"\nexport * from \"./CustomError404.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CustomError404.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CustomError403.vue?vue&type=template&id=3efbadcc\"\nimport script from \"./CustomError403.vue?vue&type=script&lang=js\"\nexport * from \"./CustomError403.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CustomError403.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CustomAppError.vue?vue&type=template&id=271af733\"\nimport script from \"./CustomAppError.vue?vue&type=script&lang=js\"\nexport * from \"./CustomAppError.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CustomAppError.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Index.vue?vue&type=template&id=dc4b4d36\"\nimport script from \"./Index.vue?vue&type=script&lang=js\"\nexport * from \"./Index.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Index.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Detail.vue?vue&type=template&id=3108cd2a\"\nimport script from \"./Detail.vue?vue&type=script&lang=js\"\nexport * from \"./Detail.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Detail.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Attach.vue?vue&type=template&id=73c963ec\"\nimport script from \"./Attach.vue?vue&type=script&lang=js\"\nexport * from \"./Attach.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Attach.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./UpdateAttached.vue?vue&type=template&id=2a277226\"\nimport script from \"./UpdateAttached.vue?vue&type=script&lang=js\"\nexport * from \"./UpdateAttached.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"UpdateAttached.vue\"]])\n\nexport default __exports__","import camelCase from 'lodash/camelCase'\nimport upperFirst from 'lodash/upperFirst'\n\nfunction registerComponents(app, type, requireComponent) {\n requireComponent.keys().forEach(fileName => {\n const componentConfig = requireComponent(fileName)\n const componentName = upperFirst(\n camelCase(\n fileName\n .split('/')\n .pop()\n .replace(/\\.\\w+$/, '')\n )\n )\n\n app.component(\n type + componentName,\n componentConfig.default || componentConfig\n )\n })\n}\n\nexport function registerFields(app) {\n registerComponents(\n app,\n 'Index',\n require.context(`./fields/Index`, true, /[A-Z]\\w+\\.(vue)$/)\n )\n registerComponents(\n app,\n 'Detail',\n require.context(`./fields/Detail`, true, /[A-Z]\\w+\\.(vue)$/)\n )\n registerComponents(\n app,\n 'Form',\n require.context(`./fields/Form`, true, /[A-Z]\\w+\\.(vue)$/)\n )\n registerComponents(\n app,\n 'Filter',\n require.context(`./fields/Filter`, true, /[A-Z]\\w+\\.(vue)$/)\n )\n}\n","import { usePage } from '@inertiajs/inertia-vue3'\nimport { Inertia } from '@inertiajs/inertia'\nimport forEach from 'lodash/forEach'\nimport filled from '@/util/filled'\n\nexport default {\n state: () => ({\n baseUri: '/nova',\n currentUser: null,\n mainMenu: [],\n userMenu: [],\n breadcrumbs: [],\n resources: [],\n version: '4.x',\n mainMenuShown: false,\n canLeaveForm: true,\n canLeaveModal: true,\n pushStateWasTriggered: false,\n validLicense: true,\n queryStringParams: {},\n compiledQueryStringParams: '',\n }),\n\n getters: {\n currentUser: s => s.currentUser,\n currentVersion: s => s.version,\n mainMenu: s => s.mainMenu,\n userMenu: s => s.userMenu,\n breadcrumbs: s => s.breadcrumbs,\n mainMenuShown: s => s.mainMenuShown,\n canLeaveForm: s => s.canLeaveForm,\n canLeaveFormToPreviousPage: s => s.canLeaveForm && !s.pushStateWasTriggered,\n canLeaveModal: s => s.canLeaveModal,\n validLicense: s => s.validLicense,\n queryStringParams: s => s.queryStringParams,\n },\n\n mutations: {\n allowLeavingForm(state) {\n state.canLeaveForm = true\n },\n\n preventLeavingForm(state) {\n state.canLeaveForm = false\n },\n\n allowLeavingModal(state) {\n state.canLeaveModal = true\n },\n\n preventLeavingModal(state) {\n state.canLeaveModal = false\n },\n\n triggerPushState(state) {\n Inertia.pushState(Inertia.page)\n Inertia.ignoreHistoryState = true\n state.pushStateWasTriggered = true\n },\n\n resetPushState(state) {\n state.pushStateWasTriggered = false\n },\n\n toggleMainMenu(state) {\n state.mainMenuShown = !state.mainMenuShown\n localStorage.setItem('nova.mainMenu.open', state.mainMenuShown)\n },\n },\n\n actions: {\n async login({ commit, dispatch }, { email, password, remember }) {\n await Nova.request().post(Nova.url('/login'), {\n email,\n password,\n remember,\n })\n },\n\n async logout({ state }, customLogoutPath) {\n let response = null\n\n if (!Nova.config('withAuthentication') && customLogoutPath) {\n response = await Nova.request().post(customLogoutPath)\n } else {\n response = await Nova.request().post(Nova.url('/logout'))\n }\n\n return response?.data?.redirect || null\n },\n\n async startImpersonating({}, { resource, resourceId }) {\n let response = null\n\n response = await Nova.request().post(`/nova-api/impersonate`, {\n resource,\n resourceId,\n })\n\n let redirect = response?.data?.redirect || null\n\n if (redirect !== null) {\n location.href = redirect\n return\n }\n\n Nova.visit('/')\n },\n\n async stopImpersonating({}) {\n let response = null\n\n response = await Nova.request().delete(`/nova-api/impersonate`)\n\n let redirect = response?.data?.redirect || null\n\n if (redirect !== null) {\n location.href = redirect\n return\n }\n\n Nova.visit('/')\n },\n\n async assignPropsFromInertia({ state, dispatch }) {\n let config = usePage().props.value.novaConfig || Nova.appConfig\n let { resources, base, version, mainMenu, userMenu } = config\n\n let user = usePage().props.value.currentUser\n let validLicense = usePage().props.value.validLicense\n let breadcrumbs = usePage().props.value.breadcrumbs\n\n Nova.appConfig = config\n state.breadcrumbs = breadcrumbs || []\n state.currentUser = user\n state.validLicense = validLicense\n state.resources = resources\n state.baseUri = base\n state.version = version\n state.mainMenu = mainMenu\n state.userMenu = userMenu\n\n dispatch('syncQueryString')\n },\n\n async fetchPolicies({ state, dispatch }) {\n await dispatch('assignPropsFromInertia')\n },\n\n async syncQueryString({ state }) {\n let searchParams = new URLSearchParams(window.location.search)\n\n state.queryStringParams = Object.fromEntries(searchParams.entries())\n state.compiledQueryStringParams = searchParams.toString()\n },\n\n async updateQueryString({ state }, value) {\n let searchParams = new URLSearchParams(window.location.search)\n let page = Inertia.page\n\n forEach(value, (v, i) => {\n if (!filled(v)) {\n searchParams.delete(i)\n } else {\n searchParams.set(i, v || '')\n }\n })\n\n if (state.compiledQueryStringParams !== searchParams.toString()) {\n if (page.url !== `${window.location.pathname}?${searchParams}`) {\n page.url = `${window.location.pathname}?${searchParams}`\n\n window.history.pushState(\n page,\n '',\n `${window.location.pathname}?${searchParams}`\n )\n }\n\n state.compiledQueryStringParams = searchParams.toString()\n }\n\n Nova.$emit('query-string-changed', searchParams)\n state.queryStringParams = Object.fromEntries(searchParams.entries())\n\n return new Promise((resolve, reject) => {\n resolve(searchParams)\n })\n },\n },\n}\n","export default {\n state: () => ({\n notifications: [],\n notificationsShown: false,\n unreadNotifications: false,\n }),\n\n getters: {\n notifications: s => s.notifications,\n notificationsShown: s => s.notificationsShown,\n unreadNotifications: s => s.unreadNotifications,\n },\n\n mutations: {\n toggleNotifications(state) {\n state.notificationsShown = !state.notificationsShown\n localStorage.setItem('nova.mainMenu.open', state.notificationsShown)\n },\n },\n\n actions: {\n async fetchNotifications({ state }) {\n const {\n data: { notifications, unread },\n } = await Nova.request().get(`/nova-api/nova-notifications`)\n\n state.notifications = notifications\n state.unreadNotifications = unread\n },\n\n async markNotificationAsRead({ state, dispatch }, id) {\n await Nova.request().post(`/nova-api/nova-notifications/${id}/read`)\n dispatch('fetchNotifications')\n },\n\n async deleteNotification({ state, dispatch }, id) {\n await Nova.request().delete(`/nova-api/nova-notifications/${id}`)\n dispatch('fetchNotifications')\n },\n\n async deleteAllNotifications({ state, dispatch }, id) {\n await Nova.request().delete(`/nova-api/nova-notifications`)\n dispatch('fetchNotifications')\n },\n\n async markAllNotificationsAsRead({ state, dispatch }, id) {\n await Nova.request().post(`/nova-api/nova-notifications/read-all`)\n dispatch('fetchNotifications')\n },\n },\n}\n","import cloneDeep from 'lodash/cloneDeep'\nimport each from 'lodash/each'\nimport find from 'lodash/find'\nimport filter from 'lodash/filter'\nimport map from 'lodash/map'\nimport reduce from 'lodash/reduce'\nimport { escapeUnicode } from '@/util/escapeUnicode'\n\nexport default {\n namespaced: true,\n\n state: () => ({\n filters: [],\n originalFilters: [],\n }),\n\n getters: {\n /**\n * The filters for the resource\n */\n filters: state => state.filters,\n\n /**\n * The original filters for the resource\n */\n originalFilters: state => state.originalFilters,\n\n /**\n * Determine if there are any filters for the resource.\n */\n hasFilters: state => Boolean(state.filters.length > 0),\n\n /**\n * The current unencoded filter value payload\n */\n currentFilters: (state, getters) => {\n return map(filter(state.filters), f => {\n return {\n [f.class]: f.currentValue,\n }\n })\n },\n\n /**\n * Return the current filters encoded to a string.\n */\n currentEncodedFilters: (state, getters) =>\n btoa(escapeUnicode(JSON.stringify(getters.currentFilters))),\n\n /**\n * Determine whether any filters are applied\n */\n filtersAreApplied: (state, getters) => getters.activeFilterCount > 0,\n\n /**\n * Return the number of filters that are non-default\n */\n activeFilterCount: (state, getters) => {\n return reduce(\n state.filters,\n (result, f) => {\n const originalFilter = getters.getOriginalFilter(f.class)\n const originalFilterCloneValue = JSON.stringify(\n originalFilter.currentValue\n )\n const currentFilterCloneValue = JSON.stringify(f.currentValue)\n return currentFilterCloneValue == originalFilterCloneValue\n ? result\n : result + 1\n },\n 0\n )\n },\n\n /**\n * Get a single filter from the list of filters.\n */\n getFilter: state => filterKey => {\n return find(state.filters, filter => {\n return filter.class == filterKey\n })\n },\n\n getOriginalFilter: state => filterKey => {\n return find(state.originalFilters, filter => {\n return filter.class == filterKey\n })\n },\n\n /**\n * Get the options for a single filter.\n */\n getOptionsForFilter: (state, getters) => filterKey => {\n const filter = getters.getFilter(filterKey)\n return filter ? filter.options : []\n },\n\n /**\n * Get the current value for a given filter at the provided key.\n */\n filterOptionValue: (state, getters) => (filterKey, optionKey) => {\n const filter = getters.getFilter(filterKey)\n\n return find(filter.currentValue, (value, key) => key == optionKey)\n },\n },\n\n actions: {\n /**\n * Fetch the current filters for the given resource name.\n */\n async fetchFilters({ commit, state }, options) {\n let { resourceName, lens = false } = options\n let { viaResource, viaResourceId, viaRelationship, relationshipType } =\n options\n let params = {\n params: {\n viaResource,\n viaResourceId,\n viaRelationship,\n relationshipType,\n },\n }\n\n const { data } = lens\n ? await Nova.request().get(\n '/nova-api/' + resourceName + '/lens/' + lens + '/filters',\n params\n )\n : await Nova.request().get(\n '/nova-api/' + resourceName + '/filters',\n params\n )\n\n commit('storeFilters', data)\n },\n\n /**\n * Reset the default filter state to the original filter settings.\n */\n async resetFilterState({ commit, getters }) {\n each(getters.originalFilters, filter => {\n commit('updateFilterState', {\n filterClass: filter.class,\n value: filter.currentValue,\n })\n })\n },\n\n /**\n * Initialize the current filter values from the decoded query string.\n */\n async initializeCurrentFilterValuesFromQueryString(\n { commit, getters },\n encodedFilters\n ) {\n if (encodedFilters) {\n const initialFilters = JSON.parse(atob(encodedFilters))\n each(initialFilters, filter => {\n if (\n filter.hasOwnProperty('class') &&\n filter.hasOwnProperty('value')\n ) {\n commit('updateFilterState', {\n filterClass: filter.class,\n value: filter.value,\n })\n } else {\n for (let key in filter) {\n commit('updateFilterState', {\n filterClass: key,\n value: filter[key],\n })\n }\n }\n })\n }\n },\n },\n\n mutations: {\n updateFilterState(state, { filterClass, value }) {\n const filter = find(state.filters, f => f.class == filterClass)\n\n if (filter !== undefined && filter !== null) {\n filter.currentValue = value\n }\n },\n\n /**\n * Store the mutable filter settings\n */\n storeFilters(state, data) {\n state.filters = data\n state.originalFilters = cloneDeep(data)\n },\n\n /**\n * Clear the filters for this resource\n */\n clearFilters(state) {\n state.filters = []\n state.originalFilters = []\n },\n },\n}\n","\n\n\n","\n\n\n","\n\n\n","import script from \"./MainHeader.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./MainHeader.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"MainHeader.vue\"]])\n\nexport default __exports__","import { render } from \"./Footer.vue?vue&type=template&id=1cbe6d58\"\nimport script from \"./Footer.vue?vue&type=script&lang=js\"\nexport * from \"./Footer.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Footer.vue\"]])\n\nexport default __exports__","import { render } from \"./AppLayout.vue?vue&type=template&id=47352ab0\"\nimport script from \"./AppLayout.vue?vue&type=script&lang=js\"\nexport * from \"./AppLayout.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"AppLayout.vue\"]])\n\nexport default __exports__","import Localization from '@/mixins/Localization'\nimport { setupAxios } from '@/util/axios'\nimport { setupNumbro } from '@/util/numbro'\nimport { setupInertia } from '@/util/inertia'\nimport url from '@/util/url'\nimport { createInertiaApp, Head, Link } from '@inertiajs/inertia-vue3'\nimport { Inertia } from '@inertiajs/inertia'\nimport NProgress from 'nprogress'\nimport { registerViews } from './components'\nimport { registerFields } from './fields'\nimport Mousetrap from 'mousetrap'\nimport Form from 'form-backend-validation'\nimport { createNovaStore } from './store'\nimport resourceStore from './store/resources'\nimport FloatingVue from 'floating-vue'\nimport find from 'lodash/find'\nimport isNil from 'lodash/isNil'\nimport fromPairs from 'lodash/fromPairs'\nimport isString from 'lodash/isString'\nimport omit from 'lodash/omit'\nimport Toasted from 'toastedjs'\nimport Emitter from 'tiny-emitter'\nimport Layout from '@/layouts/AppLayout'\nimport CodeMirror from 'codemirror'\nimport { Settings } from 'luxon'\nimport 'codemirror/mode/markdown/markdown'\nimport 'codemirror/mode/javascript/javascript'\nimport 'codemirror/mode/php/php'\nimport 'codemirror/mode/ruby/ruby'\nimport 'codemirror/mode/shell/shell'\nimport 'codemirror/mode/sass/sass'\nimport 'codemirror/mode/yaml/yaml'\nimport 'codemirror/mode/yaml-frontmatter/yaml-frontmatter'\nimport 'codemirror/mode/nginx/nginx'\nimport 'codemirror/mode/xml/xml'\nimport 'codemirror/mode/vue/vue'\nimport 'codemirror/mode/dockerfile/dockerfile'\nimport 'codemirror/keymap/vim'\nimport 'codemirror/mode/sql/sql'\nimport 'codemirror/mode/twig/twig'\nimport 'codemirror/mode/htmlmixed/htmlmixed'\nimport { ColorTranslator } from 'colortranslator'\n\nimport 'floating-vue/dist/style.css'\n\nconst { parseColor } = require('tailwindcss/lib/util/color')\n\nCodeMirror.defineMode('htmltwig', function (config, parserConfig) {\n return CodeMirror.overlayMode(\n CodeMirror.getMode(config, parserConfig.backdrop || 'text/html'),\n CodeMirror.getMode(config, 'twig')\n )\n})\n\nconst emitter = new Emitter()\n\nwindow.createNovaApp = config => new Nova(config)\nwindow.Vue = require('vue')\n\nconst { createApp, h } = window.Vue\n\nclass Nova {\n constructor(config) {\n this.bootingCallbacks = []\n this.appConfig = config\n this.useShortcuts = true\n\n this.pages = {\n 'Nova.Attach': require('@/pages/Attach').default,\n 'Nova.Create': require('@/pages/Create').default,\n 'Nova.Dashboard': require('@/pages/Dashboard').default,\n 'Nova.Detail': require('@/pages/Detail').default,\n 'Nova.Error': require('@/pages/AppError').default,\n 'Nova.Error403': require('@/pages/Error403').default,\n 'Nova.Error404': require('@/pages/Error404').default,\n 'Nova.ForgotPassword': require('@/pages/ForgotPassword').default,\n 'Nova.Index': require('@/pages/Index').default,\n 'Nova.Lens': require('@/pages/Lens').default,\n 'Nova.Login': require('@/pages/Login').default,\n 'Nova.Replicate': require('@/pages/Replicate').default,\n 'Nova.ResetPassword': require('@/pages/ResetPassword').default,\n 'Nova.Update': require('@/pages/Update').default,\n 'Nova.UpdateAttached': require('@/pages/UpdateAttached').default,\n }\n\n this.$toasted = new Toasted({\n theme: 'nova',\n position: config.rtlEnabled ? 'bottom-left' : 'bottom-right',\n duration: 6000,\n })\n this.$progress = NProgress\n this.$router = Inertia\n\n if (config.debug === true) {\n this.$testing = {\n timezone: timezone => {\n Settings.defaultZoneName = timezone\n },\n }\n }\n }\n\n /**\n * Register a callback to be called before Nova starts. This is used to bootstrap\n * addons, tools, custom fields, or anything else Nova needs\n */\n booting(callback) {\n this.bootingCallbacks.push(callback)\n }\n\n /**\n * Execute all of the booting callbacks.\n */\n boot() {\n this.store = createNovaStore()\n\n this.bootingCallbacks.forEach(callback => callback(this.app, this.store))\n this.bootingCallbacks = []\n }\n\n booted(callback) {\n callback(this.app, this.store)\n }\n\n async countdown() {\n this.log('Initiating Nova countdown...')\n\n const appName = this.config('appName')\n\n await createInertiaApp({\n title: title => (!title ? appName : `${title} - ${appName}`),\n resolve: name => {\n const page = !isNil(this.pages[name])\n ? this.pages[name]\n : require('@/pages/Error404').default\n\n page.layout = page.layout || Layout\n\n return page\n },\n setup: ({ el, App, props, plugin }) => {\n this.mountTo = el\n this.app = createApp({ render: () => h(App, props) })\n\n this.app.use(plugin)\n this.app.use(FloatingVue, {\n preventOverflow: true,\n flip: true,\n themes: {\n Nova: {\n $extend: 'tooltip',\n triggers: ['click'],\n autoHide: true,\n placement: 'bottom',\n html: true,\n },\n },\n })\n },\n })\n }\n\n /**\n * Start the Nova app by calling each of the tool's callbacks and then creating\n * the underlying Vue instance.\n */\n liftOff() {\n this.log('We have lift off!')\n\n this.boot()\n\n if (this.config('notificationCenterEnabled')) {\n this.notificationPollingInterval = setInterval(() => {\n if (document.hasFocus()) {\n this.$emit('refresh-notifications')\n }\n }, this.config('notificationPollingInterval'))\n }\n\n this.registerStoreModules()\n\n this.app.mixin(Localization)\n\n setupInertia()\n\n document.addEventListener('inertia:before', () => {\n ;(async () => {\n this.log('Syncing Inertia props to the store...')\n await this.store.dispatch('assignPropsFromInertia')\n })()\n })\n\n document.addEventListener('inertia:navigate', () => {\n ;(async () => {\n this.log('Syncing Inertia props to the store...')\n await this.store.dispatch('assignPropsFromInertia')\n })()\n })\n\n this.app.mixin({\n methods: {\n $url: (path, parameters) => this.url(path, parameters),\n },\n })\n\n this.component('Link', Link)\n this.component('InertiaLink', Link)\n this.component('Head', Head)\n\n registerViews(this)\n registerFields(this)\n\n this.app.mount(this.mountTo)\n\n let mousetrapDefaultStopCallback = Mousetrap.prototype.stopCallback\n\n Mousetrap.prototype.stopCallback = (e, element, combo) => {\n if (!this.useShortcuts) {\n return true\n }\n\n return mousetrapDefaultStopCallback.call(this, e, element, combo)\n }\n\n Mousetrap.init()\n\n this.applyTheme()\n\n this.log('All systems go...')\n }\n\n config(key) {\n return this.appConfig[key]\n }\n\n /**\n * Return a form object configured with Nova's preconfigured axios instance.\n *\n * @param {object} data\n */\n form(data) {\n return new Form(data, {\n http: this.request(),\n })\n }\n\n /**\n * Return an axios instance configured to make requests to Nova's API\n * and handle certain response codes.\n */\n request(options) {\n let axios = setupAxios()\n\n if (options !== undefined) {\n return axios(options)\n }\n\n return axios\n }\n\n /**\n * Get the URL from base Nova prefix.\n */\n url(path, parameters) {\n if (path === '/') {\n path = this.config('initialPath')\n }\n\n return url(this.config('base'), path, parameters)\n }\n\n /**\n * Register a listener on Nova's built-in event bus\n */\n $on(...args) {\n emitter.on(...args)\n }\n\n /**\n * Register a one-time listener on the event bus\n */\n $once(...args) {\n emitter.once(...args)\n }\n\n /**\n * Unregister an listener on the event bus\n */\n $off(...args) {\n emitter.off(...args)\n }\n\n /**\n * Emit an event on the event bus\n */\n $emit(...args) {\n emitter.emit(...args)\n }\n\n /**\n * Determine if Nova is missing the requested resource with the given uri key\n */\n missingResource(uriKey) {\n return (\n find(this.config('resources'), r => r.uriKey === uriKey) === undefined\n )\n }\n\n /**\n * Register a keyboard shortcut.\n */\n addShortcut(keys, callback) {\n Mousetrap.bind(keys, callback)\n }\n\n /**\n * Unbind a keyboard shortcut.\n */\n disableShortcut(keys) {\n Mousetrap.unbind(keys)\n }\n\n /**\n * Pause all keyboard shortcuts.\n */\n pauseShortcuts() {\n this.useShortcuts = false\n }\n\n /**\n * Resume all keyboard shortcuts.\n */\n resumeShortcuts() {\n this.useShortcuts = true\n }\n\n /**\n * Register the built-in Vuex modules for each resource\n */\n registerStoreModules() {\n this.app.use(this.store)\n\n this.config('resources').forEach(resource => {\n this.store.registerModule(resource.uriKey, resourceStore)\n })\n }\n\n /**\n * Register Inertia component.\n */\n inertia(name, component) {\n this.pages[name] = component\n }\n\n /**\n * Register a custom Vue component.\n */\n component(name, component) {\n if (isNil(this.app._context.components[name])) {\n this.app.component(name, component)\n }\n }\n\n /**\n * Show an error message to the user.\n *\n * @param {string} message\n */\n info(message) {\n this.$toasted.show(message, { type: 'info' })\n }\n\n /**\n * Show an error message to the user.\n *\n * @param {string} message\n */\n error(message) {\n this.$toasted.show(message, { type: 'error' })\n }\n\n /**\n * Show a success message to the user.\n *\n * @param {string} message\n */\n success(message) {\n this.$toasted.show(message, { type: 'success' })\n }\n\n /**\n * Show a warning message to the user.\n *\n * @param {string} message\n */\n warning(message) {\n this.$toasted.show(message, { type: 'warning' })\n }\n\n /**\n * Format a number using numbro.js for consistent number formatting.\n */\n formatNumber(number, format) {\n const numbro = setupNumbro(\n document.querySelector('meta[name=\"locale\"]').content\n )\n const num = numbro(number)\n\n if (format !== undefined) {\n return num.format(format)\n }\n\n return num.format()\n }\n\n /**\n * Log a message to the console with the NOVA prefix\n *\n * @param message\n * @param type\n */\n log(message, type = 'log') {\n console[type](`[NOVA]`, message)\n }\n\n /**\n * Redirect to login path.\n */\n redirectToLogin() {\n const url =\n !this.config('withAuthentication') && this.config('customLoginPath')\n ? this.config('customLoginPath')\n : this.url('/login')\n\n this.visit({\n remote: true,\n url,\n })\n }\n\n /**\n * Visit page using Inertia visit or window.location for remote.\n */\n visit(path, options) {\n options = options || {}\n const openInNewTab = options?.openInNewTab || null\n\n if (isString(path)) {\n Inertia.visit(this.url(path), omit(options, ['openInNewTab']))\n return\n }\n\n if (isString(path.url) && path.hasOwnProperty('remote')) {\n if (path.remote === true) {\n if (openInNewTab === true) {\n window.open(path.url, '_blank')\n } else {\n window.location = path.url\n }\n\n return\n }\n\n Inertia.visit(path.url, omit(options, ['openInNewTab']))\n }\n }\n\n applyTheme() {\n const brandColors = this.config('brandColors')\n\n if (Object.keys(brandColors).length > 0) {\n const style = document.createElement('style')\n\n // Handle converting any non-RGB user strings into valid RGB strings.\n // This allows the user to specify any color in HSL, RGB, and RGBA\n // format, and we'll convert it to the proper format for them.\n let css = Object.keys(brandColors).reduce((carry, v) => {\n let colorValue = brandColors[v]\n let validColor = parseColor(colorValue)\n\n if (validColor) {\n let parsedColor = parseColor(\n ColorTranslator.toRGBA(convertColor(validColor))\n )\n\n let rgbaString = `${parsedColor.color.join(' ')} / ${\n parsedColor.alpha\n }`\n\n return carry + `\\n --colors-primary-${v}: ${rgbaString};`\n }\n\n return carry + `\\n --colors-primary-${v}: ${colorValue};`\n }, '')\n\n style.innerHTML = `:root {${css}\\n}`\n\n document.head.append(style)\n }\n }\n}\n\nfunction convertColor(parsedColor) {\n let color = fromPairs(\n Array.from(parsedColor.mode).map((v, i) => {\n return [v, parsedColor.color[i]]\n })\n )\n\n if (parsedColor.alpha !== undefined) {\n color.a = parsedColor.alpha\n }\n\n return color\n}\n","import { createStore } from 'vuex'\nimport nova from './nova'\nimport notifications from './notifications'\n\nexport function createNovaStore() {\n return createStore({\n ...nova,\n modules: {\n nova: {\n namespaced: true,\n modules: {\n notifications,\n },\n },\n },\n })\n}\n","import { Inertia } from '@inertiajs/inertia'\nimport { InertiaProgress } from '@inertiajs/progress'\nimport debounce from 'lodash/debounce'\n\nexport function setupInertia() {\n InertiaProgress.init({\n delay: 250,\n includeCSS: false,\n showSpinner: false,\n })\n\n const handlePopstateEvent = function (event) {\n if (this.ignoreHistoryState === false) {\n this.handlePopstateEvent(event)\n }\n }\n\n Inertia.ignoreHistoryState = false\n\n Inertia.setupEventListeners = function () {\n window.addEventListener('popstate', handlePopstateEvent.bind(Inertia))\n document.addEventListener(\n 'scroll',\n debounce(Inertia.handleScrollEvent.bind(Inertia), 100),\n true\n )\n }\n}\n","import camelCase from 'lodash/camelCase'\nimport upperFirst from 'lodash/upperFirst'\nimport CustomError404 from '@/views/CustomError404'\nimport CustomError403 from '@/views/CustomError403'\nimport CustomAppError from '@/views/CustomAppError'\nimport ResourceIndex from '@/views/Index'\nimport ResourceDetail from '@/views/Detail'\nimport Attach from '@/views/Attach'\nimport UpdateAttached from '@/views/UpdateAttached'\n// import Lens from '@/views/Lens'\n\nexport function registerViews(app) {\n // Manually register some views...\n app.component('CustomError403', CustomError403)\n app.component('CustomError404', CustomError404)\n app.component('CustomAppError', CustomAppError)\n app.component('ResourceIndex', ResourceIndex)\n app.component('ResourceDetail', ResourceDetail)\n app.component('AttachResource', Attach)\n app.component('UpdateAttachedResource', UpdateAttached)\n // app.component('Lens', Lens)\n\n const requireComponent = require.context(\n './components',\n true,\n /[A-Z]\\w+\\.(vue)$/\n )\n\n requireComponent.keys().forEach(fileName => {\n const componentConfig = requireComponent(fileName)\n\n const componentName = upperFirst(\n camelCase(\n fileName\n .split('/')\n .pop()\n .replace(/\\.\\w+$/, '')\n )\n )\n\n app.component(componentName, componentConfig.default || componentConfig)\n })\n}\n","import identity from 'lodash/identity'\nimport pickBy from 'lodash/pickBy'\n\nexport default function url(base, path, parameters) {\n let searchParams = new URLSearchParams(pickBy(parameters || {}, identity))\n\n let queryString = searchParams.toString()\n\n if (base == '/' && path.startsWith('/')) {\n base = ''\n }\n\n return base + path + (queryString.length > 0 ? `?${queryString}` : '')\n}\n","import numbro from 'numbro'\nimport numbroLanguages from 'numbro/dist/languages.min'\n\nexport function setupNumbro(locale) {\n if (locale) {\n locale = locale.replace('_', '-')\n\n Object.values(numbroLanguages).forEach(language => {\n let name = language.languageTag\n\n if (locale === name || locale === name.substr(0, 2)) {\n numbro.registerLanguage(language)\n }\n })\n\n numbro.setLanguage(locale)\n }\n\n numbro.setDefaults({\n thousandSeparated: true,\n })\n\n return numbro\n}\n","import { Errors } from '@/mixins'\nimport { computed, reactive } from 'vue'\nimport each from 'lodash/each'\nimport find from 'lodash/find'\nimport filter from 'lodash/filter'\nimport isNil from 'lodash/isNil'\nimport tap from 'lodash/tap'\nimport trim from 'lodash/trim'\nimport { useLocalization } from '@/composables/useLocalization'\n\nconst { __ } = useLocalization()\n\nexport function useActions(props, emitter, store) {\n const state = reactive({\n working: false,\n errors: new Errors(),\n actionModalVisible: false,\n responseModalVisible: false,\n selectedActionKey: '',\n endpoint: props.endpoint || `/nova-api/${props.resourceName}/action`,\n actionResponseData: null,\n })\n\n const selectedResources = computed(() => props.selectedResources)\n\n const selectedAction = computed(() => {\n if (state.selectedActionKey) {\n return find(allActions.value, a => a.uriKey === state.selectedActionKey)\n }\n })\n\n const allActions = computed(() =>\n props.actions.concat(props.pivotActions?.actions || [])\n )\n\n const encodedFilters = computed(\n () => store.getters[`${props.resourceName}/currentEncodedFilters`]\n )\n\n const searchParameter = computed(() =>\n props.viaRelationship\n ? props.viaRelationship + '_search'\n : props.resourceName + '_search'\n )\n\n const currentSearch = computed(\n () => store.getters.queryStringParams[searchParameter.value] || ''\n )\n\n const trashedParameter = computed(() =>\n props.viaRelationship\n ? props.viaRelationship + '_trashed'\n : props.resourceName + '_trashed'\n )\n\n const currentTrashed = computed(\n () => store.getters.queryStringParams[trashedParameter.value] || ''\n )\n\n const availableActions = computed(() => {\n return filter(\n props.actions,\n action => selectedResources.value.length > 0 && !action.standalone\n )\n })\n\n const availablePivotActions = computed(() => {\n if (!props.pivotActions) {\n return []\n }\n\n return filter(props.pivotActions.actions, action => {\n if (selectedResources.value.length === 0) {\n return action.standalone\n }\n\n return true\n })\n })\n\n const hasPivotActions = computed(() => availablePivotActions.value.length > 0)\n\n const selectedActionIsPivotAction = computed(() => {\n return (\n hasPivotActions.value &&\n Boolean(find(props.pivotActions.actions, a => a === selectedAction.value))\n )\n })\n\n const actionRequestQueryString = computed(() => {\n return {\n action: state.selectedActionKey,\n pivotAction: selectedActionIsPivotAction.value,\n search: currentSearch.value,\n filters: encodedFilters.value,\n trashed: currentTrashed.value,\n viaResource: props.viaResource,\n viaResourceId: props.viaResourceId,\n viaRelationship: props.viaRelationship,\n }\n })\n\n const actionFormData = computed(() => {\n return tap(new FormData(), formData => {\n formData.append('resources', selectedResources.value)\n\n each(selectedAction.value.fields, field => {\n field.fill(formData)\n })\n })\n })\n\n function determineActionStrategy() {\n if (selectedAction.value.withoutConfirmation) {\n executeAction()\n } else {\n openConfirmationModal()\n }\n }\n\n function openConfirmationModal() {\n state.actionModalVisible = true\n }\n\n function closeConfirmationModal() {\n state.actionModalVisible = false\n }\n\n function openResponseModal() {\n state.responseModalVisible = true\n }\n\n function closeResponseModal() {\n state.responseModalVisible = false\n }\n\n function emitResponseCallback(callback) {\n emitter('actionExecuted')\n Nova.$emit('action-executed')\n\n if (typeof callback === 'function') {\n callback()\n }\n }\n\n function showActionResponseMessage(data) {\n if (data.danger) {\n return Nova.error(data.danger)\n }\n\n Nova.success(data.message || __('The action was executed successfully.'))\n }\n\n function executeAction(then) {\n state.working = true\n Nova.$progress.start()\n\n let responseType = selectedAction.value.responseType ?? 'json'\n\n Nova.request({\n method: 'post',\n url: state.endpoint,\n params: actionRequestQueryString.value,\n data: actionFormData.value,\n responseType,\n })\n .then(async response => {\n closeConfirmationModal()\n handleActionResponse(response.data, response.headers, then)\n })\n .catch(error => {\n if (error.response && error.response.status === 422) {\n if (responseType === 'blob') {\n error.response.data.text().then(data => {\n state.errors = new Errors(JSON.parse(data).errors)\n })\n } else {\n state.errors = new Errors(error.response.data.errors)\n }\n\n Nova.error(__('There was a problem executing the action.'))\n }\n })\n .finally(() => {\n state.working = false\n Nova.$progress.done()\n })\n }\n\n function handleActionResponse(data, headers, then) {\n let contentDisposition = headers['content-disposition']\n\n if (\n data instanceof Blob &&\n isNil(contentDisposition) &&\n data.type === 'application/json'\n ) {\n data.text().then(jsonStringData => {\n handleActionResponse(JSON.parse(jsonStringData), headers)\n })\n\n return\n }\n\n if (data instanceof Blob) {\n return emitResponseCallback(() => {\n let fileName = 'unknown'\n let url = window.URL.createObjectURL(new Blob([data]))\n let link = document.createElement('a')\n link.href = url\n\n if (contentDisposition) {\n let fileNameMatch = contentDisposition\n .split(';')[1]\n .match(/filename=(.+)/)\n if (fileNameMatch.length === 2) fileName = trim(fileNameMatch[1], '\"')\n }\n\n link.setAttribute('download', fileName)\n document.body.appendChild(link)\n link.click()\n link.remove()\n window.URL.revokeObjectURL(url)\n })\n }\n\n if (data.modal) {\n state.actionResponseData = data\n\n showActionResponseMessage(data)\n\n return openResponseModal()\n }\n\n if (data.download) {\n return emitResponseCallback(() => {\n showActionResponseMessage(data)\n\n let link = document.createElement('a')\n link.href = data.download\n link.download = data.name\n document.body.appendChild(link)\n link.click()\n document.body.removeChild(link)\n })\n }\n\n if (data.deleted) {\n return emitResponseCallback(() => showActionResponseMessage(data))\n }\n\n if (data.redirect) {\n window.location = data.redirect\n }\n\n if (data.visit) {\n showActionResponseMessage(data)\n\n return Nova.visit({\n url: Nova.url(data.visit.path, data.visit.options),\n remote: false,\n })\n }\n\n if (data.openInNewTab) {\n return emitResponseCallback(() =>\n window.open(data.openInNewTab, '_blank')\n )\n }\n\n emitResponseCallback(() => showActionResponseMessage(data))\n }\n\n function handleActionClick(uriKey) {\n state.selectedActionKey = uriKey\n determineActionStrategy()\n }\n\n function setSelectedActionKey(key) {\n state.selectedActionKey = key\n }\n\n return {\n errors: computed(() => state.errors),\n working: computed(() => state.working),\n actionModalVisible: computed(() => state.actionModalVisible),\n responseModalVisible: computed(() => state.responseModalVisible),\n selectedActionKey: computed(() => state.selectedActionKey),\n determineActionStrategy,\n setSelectedActionKey,\n openConfirmationModal,\n closeConfirmationModal,\n openResponseModal,\n closeResponseModal,\n handleActionClick,\n selectedAction,\n allActions,\n availableActions,\n availablePivotActions,\n executeAction,\n actionResponseData: computed(() => state.actionResponseData),\n }\n}\n","import { ref } from 'vue'\n\nexport function useDragAndDrop(emit) {\n const startedDrag = ref(false)\n const files = ref([])\n\n const handleOnDragEnter = () => (startedDrag.value = true)\n\n const handleOnDragLeave = () => (startedDrag.value = false)\n\n const handleOnDrop = e => {\n files.value = e.dataTransfer.files\n emit('fileChanged', e.dataTransfer.files)\n }\n\n return {\n startedDrag,\n handleOnDragEnter,\n handleOnDragLeave,\n handleOnDrop,\n }\n}\n","import __ from '../util/localization'\n\nexport function useLocalization() {\n return {\n __: (key, replace) => __(key, replace),\n }\n}\n","import isNil from 'lodash/isNil'\n\nexport default class InlineFormData {\n constructor(attribute, formData) {\n this.attribute = attribute\n this.formData = formData\n this.localFormData = new FormData()\n }\n\n append(name, ...args) {\n this.localFormData.append(name, ...args)\n this.formData.append(this.name(name), ...args)\n }\n\n delete(name) {\n this.localFormData.delete(name)\n this.formData.delete(this.name(name))\n }\n\n entries() {\n return this.localFormData.entries()\n }\n\n get(name) {\n return this.localFormData.get(name)\n }\n\n getAll(name) {\n return this.localFormData.getAll(name)\n }\n\n has(name) {\n return this.localFormData.has(name)\n }\n\n keys() {\n return this.localFormData.keys()\n }\n\n set(name, ...args) {\n this.localFormData.set(name, ...args)\n this.formData.set(this.name(name), ...args)\n }\n\n values() {\n return this.localFormData.values()\n }\n\n name(attribute) {\n let [name, ...nested] = attribute.split('[')\n\n if (!isNil(nested) && nested.length > 0) {\n return `${this.attribute}[${name}][${nested.join('[')}`\n }\n\n return `${this.attribute}[${attribute}]`\n }\n\n slug(attribute) {\n return `${this.attribute}.${attribute}`\n }\n}\n","import __ from '../util/localization'\n\nexport default {\n methods: {\n /**\n * Translate the given key.\n */\n __(key, replace) {\n return __(key, replace)\n },\n },\n}\n","import pick from 'lodash/pick'\n\nconst propTypes = {\n nested: {\n type: Boolean,\n default: false,\n },\n\n preventInitialLoading: {\n type: Boolean,\n default: false,\n },\n\n showHelpText: {\n type: Boolean,\n default: false,\n },\n\n shownViaNewRelationModal: {\n type: Boolean,\n default: false,\n },\n\n resourceId: { type: [Number, String] },\n\n resourceName: { type: String },\n\n relatedResourceId: { type: [Number, String] },\n\n relatedResourceName: { type: String },\n\n field: {\n type: Object,\n required: true,\n },\n\n viaResource: {\n type: String,\n required: false,\n },\n\n viaResourceId: {\n type: [String, Number],\n required: false,\n },\n\n viaRelationship: {\n type: String,\n required: false,\n },\n\n relationshipType: {\n type: String,\n default: '',\n },\n\n shouldOverrideMeta: {\n type: Boolean,\n default: false,\n },\n\n disablePagination: {\n type: Boolean,\n default: false,\n },\n\n clickAction: {\n type: String,\n default: 'view',\n validator: val => ['edit', 'select', 'ignore', 'detail'].includes(val),\n },\n\n mode: {\n type: String,\n default: 'form',\n validator: v =>\n ['form', 'modal', 'action-modal', 'action-fullscreen'].includes(v),\n },\n}\n\nexport function mapProps(attributes) {\n return pick(propTypes, attributes)\n}\n","export default {\n emits: ['actionExecuted'],\n\n props: ['resourceName', 'resourceId', 'resource', 'panel'],\n\n methods: {\n /**\n * Handle the actionExecuted event and pass it up the chain.\n */\n actionExecuted() {\n this.$emit('actionExecuted')\n },\n },\n}\n","const mixin = {\n methods: {\n copyValueToClipboard(value) {\n if (navigator.clipboard) {\n navigator.clipboard.writeText(value)\n } else if (window.clipboardData) {\n window.clipboardData.setData('Text', value)\n } else {\n let input = document.createElement('input')\n let [scrollTop, scrollLeft] = [\n document.documentElement.scrollTop,\n document.documentElement.scrollLeft,\n ]\n document.body.appendChild(input)\n input.value = value\n input.focus()\n input.select()\n document.documentElement.scrollTop = scrollTop\n document.documentElement.scrollLeft = scrollLeft\n document.execCommand('copy')\n input.remove()\n }\n },\n },\n}\n\nexport function useCopyValueToClipboard() {\n return {\n copyValueToClipboard: value => mixin.methods.copyValueToClipboard(value),\n }\n}\n\nexport default mixin\n","import { mapGetters, mapMutations } from 'vuex'\nimport { Inertia } from '@inertiajs/inertia'\nimport filled from '../util/filled'\n\nexport default {\n created() {\n this.removeOnNavigationChangesEvent = Inertia.on('before', event => {\n this.removeOnNavigationChangesEvent()\n this.handlePreventFormAbandonmentOnInertia(event)\n })\n\n window.addEventListener(\n 'beforeunload',\n this.handlePreventFormAbandonmentOnInertia\n )\n\n this.removeOnBeforeUnloadEvent = () => {\n window.removeEventListener(\n 'beforeunload',\n this.handlePreventFormAbandonmentOnInertia\n )\n\n this.removeOnBeforeUnloadEvent = () => {}\n }\n },\n\n mounted() {\n window.onpopstate = event => {\n this.handlePreventFormAbandonmentOnPopState(event)\n }\n },\n\n beforeUnmount() {\n this.removeOnBeforeUnloadEvent()\n },\n\n unmounted() {\n this.removeOnNavigationChangesEvent()\n this.resetPushState()\n },\n\n data() {\n return {\n removeOnNavigationChangesEvent: null,\n removeOnBeforeUnloadEvent: null,\n navigateBackUsingHistory: true,\n }\n },\n\n methods: {\n ...mapMutations([\n 'allowLeavingForm',\n 'preventLeavingForm',\n 'triggerPushState',\n 'resetPushState',\n ]),\n\n /**\n * Prevent accidental abandonment only if form was changed.\n */\n updateFormStatus() {\n if (this.canLeaveForm == true) {\n this.triggerPushState()\n }\n\n this.preventLeavingForm()\n },\n\n enableNavigateBackUsingHistory() {\n this.navigateBackUsingHistory = false\n },\n\n disableNavigateBackUsingHistory() {\n this.navigateBackUsingHistory = false\n },\n\n handlePreventFormAbandonment(proceed, revert) {\n if (this.canLeaveForm) {\n proceed()\n return\n }\n\n const answer = window.confirm(\n this.__('Do you really want to leave? You have unsaved changes.')\n )\n\n if (answer) {\n proceed()\n return\n }\n\n revert()\n },\n\n handlePreventFormAbandonmentOnInertia(event) {\n this.handlePreventFormAbandonment(\n () => {\n this.handleProceedingToNextPage()\n this.allowLeavingForm()\n },\n () => {\n Inertia.ignoreHistoryState = true\n event.preventDefault()\n event.returnValue = ''\n\n this.removeOnNavigationChangesEvent = Inertia.on('before', event => {\n this.removeOnNavigationChangesEvent()\n this.handlePreventFormAbandonmentOnInertia(event)\n })\n }\n )\n },\n\n handlePreventFormAbandonmentOnPopState(event) {\n event.stopImmediatePropagation()\n event.stopPropagation()\n\n this.handlePreventFormAbandonment(\n () => {\n this.handleProceedingToPreviousPage()\n this.allowLeavingForm()\n },\n () => {\n this.triggerPushState()\n }\n )\n },\n\n handleProceedingToPreviousPage() {\n window.onpopstate = null\n Inertia.ignoreHistoryState = false\n\n this.removeOnBeforeUnloadEvent()\n\n if (!this.canLeaveFormToPreviousPage && this.navigateBackUsingHistory) {\n window.history.back()\n }\n },\n\n handleProceedingToNextPage() {\n window.onpopstate = null\n Inertia.ignoreHistoryState = false\n\n this.removeOnBeforeUnloadEvent()\n },\n\n proceedToPreviousPage(url) {\n if (this.navigateBackUsingHistory && window.history.length > 1) {\n window.history.back()\n } else if (!this.navigateBackUsingHistory && filled(url)) {\n Nova.visit(url, { replace: true })\n } else {\n Nova.visit('/')\n }\n },\n },\n\n computed: {\n ...mapGetters(['canLeaveForm', 'canLeaveFormToPreviousPage']),\n },\n}\n","import { mapGetters, mapMutations } from 'vuex'\n\nexport default {\n props: {\n show: { type: Boolean, default: false },\n },\n\n methods: {\n ...mapMutations(['allowLeavingModal', 'preventLeavingModal']),\n\n /**\n * Prevent accidental abandonment only if form was changed.\n */\n updateModalStatus() {\n this.preventLeavingModal()\n },\n\n handlePreventModalAbandonment(proceed, revert) {\n if (this.canLeaveModal) {\n proceed()\n return\n }\n\n if (\n window.confirm(\n this.__('Do you really want to leave? You have unsaved changes.')\n )\n ) {\n this.allowLeavingModal()\n proceed()\n return\n }\n\n revert()\n },\n },\n\n computed: {\n ...mapGetters(['canLeaveModal']),\n },\n}\n","import filter from 'lodash/filter'\nimport map from 'lodash/map'\n\nexport default {\n methods: {\n /**\n * Open the delete menu modal.\n */\n openDeleteModal() {\n this.deleteModalOpen = true\n },\n\n /**\n * Delete the given resources.\n */\n deleteResources(resources, callback = null) {\n if (this.viaManyToMany) {\n return this.detachResources(resources)\n }\n\n return Nova.request({\n url: '/nova-api/' + this.resourceName,\n method: 'delete',\n params: {\n ...this.deletableQueryString,\n ...{ resources: mapResources(resources) },\n },\n })\n .then(\n callback\n ? callback\n : () => {\n this.getResources()\n }\n )\n .then(() => {\n Nova.$emit('resources-deleted')\n })\n .finally(() => {\n this.deleteModalOpen = false\n })\n },\n\n /**\n * Delete the selected resources.\n */\n deleteSelectedResources() {\n this.deleteResources(this.selectedResources)\n },\n\n /**\n * Delete all of the matching resources.\n */\n deleteAllMatchingResources() {\n if (this.viaManyToMany) {\n return this.detachAllMatchingResources()\n }\n\n return Nova.request({\n url: this.deleteAllMatchingResourcesEndpoint,\n method: 'delete',\n params: {\n ...this.deletableQueryString,\n ...{ resources: 'all' },\n },\n })\n .then(() => {\n this.getResources()\n })\n .then(() => {\n Nova.$emit('resources-deleted')\n })\n .finally(() => {\n this.deleteModalOpen = false\n })\n },\n\n /**\n * Detach the given resources.\n */\n detachResources(resources) {\n return Nova.request({\n url: '/nova-api/' + this.resourceName + '/detach',\n method: 'delete',\n params: {\n ...this.deletableQueryString,\n ...{ resources: mapResources(resources) },\n ...{ pivots: mapPivots(resources) },\n },\n })\n .then(() => {\n this.getResources()\n })\n .then(() => {\n Nova.$emit('resources-detached')\n })\n .finally(() => {\n this.deleteModalOpen = false\n })\n },\n\n /**\n * Detach all of the matching resources.\n */\n detachAllMatchingResources() {\n return Nova.request({\n url: '/nova-api/' + this.resourceName + '/detach',\n method: 'delete',\n params: {\n ...this.deletableQueryString,\n ...{ resources: 'all' },\n },\n })\n .then(() => {\n this.getResources()\n })\n .then(() => {\n Nova.$emit('resources-detached')\n })\n .finally(() => {\n this.deleteModalOpen = false\n })\n },\n\n /**\n * Force delete the given resources.\n */\n forceDeleteResources(resources, callback = null) {\n return Nova.request({\n url: '/nova-api/' + this.resourceName + '/force',\n method: 'delete',\n params: {\n ...this.deletableQueryString,\n ...{ resources: mapResources(resources) },\n },\n })\n .then(\n callback\n ? callback\n : () => {\n this.getResources()\n }\n )\n .then(() => {\n Nova.$emit('resources-deleted')\n })\n .finally(() => {\n this.deleteModalOpen = false\n })\n },\n\n /**\n * Force delete the selected resources.\n */\n forceDeleteSelectedResources() {\n this.forceDeleteResources(this.selectedResources)\n },\n\n /**\n * Force delete all of the matching resources.\n */\n forceDeleteAllMatchingResources() {\n return Nova.request({\n url: this.forceDeleteSelectedResourcesEndpoint,\n method: 'delete',\n params: {\n ...this.deletableQueryString,\n ...{ resources: 'all' },\n },\n })\n .then(() => {\n this.getResources()\n })\n .then(() => {\n Nova.$emit('resources-deleted')\n })\n .finally(() => {\n this.deleteModalOpen = false\n })\n },\n\n /**\n * Restore the given resources.\n */\n restoreResources(resources, callback = null) {\n return Nova.request({\n url: '/nova-api/' + this.resourceName + '/restore',\n method: 'put',\n params: {\n ...this.deletableQueryString,\n ...{ resources: mapResources(resources) },\n },\n })\n .then(\n callback\n ? callback\n : () => {\n this.getResources()\n }\n )\n .then(() => {\n Nova.$emit('resources-restored')\n })\n .finally(() => {\n this.restoreModalOpen = false\n })\n },\n\n /**\n * Restore the selected resources.\n */\n restoreSelectedResources() {\n this.restoreResources(this.selectedResources)\n },\n\n /**\n * Restore all of the matching resources.\n */\n restoreAllMatchingResources() {\n return Nova.request({\n url: this.restoreAllMatchingResourcesEndpoint,\n method: 'put',\n params: {\n ...this.deletableQueryString,\n ...{ resources: 'all' },\n },\n })\n .then(() => {\n this.getResources()\n })\n .then(() => {\n Nova.$emit('resources-restored')\n })\n .finally(() => {\n this.restoreModalOpen = false\n })\n },\n },\n\n computed: {\n /**\n * Get the delete all matching resources endpoint.\n */\n deleteAllMatchingResourcesEndpoint() {\n if (this.lens) {\n return '/nova-api/' + this.resourceName + '/lens/' + this.lens\n }\n\n return '/nova-api/' + this.resourceName\n },\n\n /**\n * Get the force delete all of the matching resources endpoint.\n */\n forceDeleteSelectedResourcesEndpoint() {\n if (this.lens) {\n return (\n '/nova-api/' + this.resourceName + '/lens/' + this.lens + '/force'\n )\n }\n\n return '/nova-api/' + this.resourceName + '/force'\n },\n\n /**\n * Get the restore all of the matching resources endpoint.\n */\n restoreAllMatchingResourcesEndpoint() {\n if (this.lens) {\n return (\n '/nova-api/' + this.resourceName + '/lens/' + this.lens + '/restore'\n )\n }\n\n return '/nova-api/' + this.resourceName + '/restore'\n },\n\n /**\n * Get the query string for a deletable resource request.\n */\n deletableQueryString() {\n return {\n search: this.currentSearch,\n filters: this.encodedFilters,\n trashed: this.currentTrashed,\n viaResource: this.viaResource,\n viaResourceId: this.viaResourceId,\n viaRelationship: this.viaRelationship,\n }\n },\n },\n}\n\nfunction mapResources(resources) {\n return map(resources, resource => resource.id.value)\n}\n\nfunction mapPivots(resources) {\n return filter(map(resources, resource => resource.id.pivotValue))\n}\n","import isNil from 'lodash/isNil'\n\nexport default {\n props: {\n formUniqueId: {\n type: String,\n },\n },\n\n methods: {\n emitFieldValue(attribute, value) {\n Nova.$emit(`${attribute}-value`, value)\n\n if (this.hasFormUniqueId === true) {\n Nova.$emit(`${this.formUniqueId}-${attribute}-value`, value)\n }\n },\n\n emitFieldValueChange(attribute, value) {\n Nova.$emit(`${attribute}-change`, value)\n\n if (this.hasFormUniqueId === true) {\n Nova.$emit(`${this.formUniqueId}-${attribute}-change`, value)\n }\n },\n\n /**\n * Get field attribute value event name.\n */\n getFieldAttributeValueEventName(attribute) {\n return this.hasFormUniqueId === true\n ? `${this.formUniqueId}-${attribute}-value`\n : `${attribute}-value`\n },\n\n /**\n * Get field attribue value event name.\n */\n getFieldAttributeChangeEventName(attribute) {\n return this.hasFormUniqueId === true\n ? `${this.formUniqueId}-${attribute}-change`\n : `${attribute}-change`\n },\n },\n\n computed: {\n /**\n * Return the field attribute.\n */\n fieldAttribute() {\n return this.field.attribute\n },\n\n /**\n * Determine if the field has Form Unique ID.\n */\n hasFormUniqueId() {\n return !isNil(this.formUniqueId) && this.formUniqueId !== ''\n },\n\n /**\n * Get field attribue value event name.\n */\n fieldAttributeValueEventName() {\n return this.getFieldAttributeValueEventName(this.fieldAttribute)\n },\n\n /**\n * Get field attribue value event name.\n */\n fieldAttributeChangeEventName() {\n return this.getFieldAttributeChangeEventName(this.fieldAttribute)\n },\n },\n}\n","import get from 'lodash/get'\nimport { mapProps } from './propTypes'\nimport FormEvents from './FormEvents'\n\nexport default {\n extends: FormEvents,\n\n props: {\n ...mapProps([\n 'nested',\n 'shownViaNewRelationModal',\n 'field',\n 'viaResource',\n 'viaResourceId',\n 'viaRelationship',\n 'resourceName',\n 'resourceId',\n 'showHelpText',\n 'mode',\n ]),\n },\n\n emits: ['field-changed'],\n\n data() {\n return {\n value: this.fieldDefaultValue(),\n }\n },\n\n created() {\n this.setInitialValue()\n },\n\n mounted() {\n // Add a default fill method for the field\n this.field.fill = this.fill\n\n // Register a global event for setting the field's value\n Nova.$on(this.fieldAttributeValueEventName, this.listenToValueChanges)\n },\n\n beforeUnmount() {\n Nova.$off(this.fieldAttributeValueEventName, this.listenToValueChanges)\n },\n\n methods: {\n /*\n * Set the initial value for the field\n */\n setInitialValue() {\n this.value = !(\n this.field.value === undefined || this.field.value === null\n )\n ? this.field.value\n : this.fieldDefaultValue()\n },\n\n /**\n * Return the field default value.\n */\n fieldDefaultValue() {\n return ''\n },\n\n /**\n * Provide a function that fills a passed FormData object with the\n * field's internal value attribute\n */\n fill(formData) {\n this.fillIfVisible(formData, this.fieldAttribute, String(this.value))\n },\n\n /**\n * Provide a function to fills FormData when field is visible.\n */\n fillIfVisible(formData, attribute, value) {\n if (this.isVisible) {\n formData.append(attribute, value)\n }\n },\n\n /**\n * Update the field's internal value\n */\n handleChange(event) {\n this.value = event.target.value\n\n if (this.field) {\n this.emitFieldValueChange(this.fieldAttribute, this.value)\n this.$emit('field-changed')\n }\n },\n\n /**\n * Clean up any side-effects when removing this field dynamically (Repeater).\n */\n beforeRemove() {\n //\n },\n\n listenToValueChanges(value) {\n this.value = value\n },\n },\n\n computed: {\n /**\n * Determine the current field.\n */\n currentField() {\n return this.field\n },\n\n /**\n * Determine if the field should use all the available white-space.\n */\n fullWidthContent() {\n return this.currentField.fullWidth || this.field.fullWidth\n },\n\n /**\n * Return the placeholder text for the field.\n */\n placeholder() {\n return this.currentField.placeholder || this.field.name\n },\n\n /**\n * Determine if the field is in visible mode\n */\n isVisible() {\n return this.field.visible\n },\n\n /**\n * Determine if the field is in readonly mode\n */\n isReadonly() {\n return Boolean(\n this.field.readonly || get(this.field, 'extraAttributes.readonly')\n )\n },\n\n /**\n * Determine if the field is accessed from Action\n */\n isActionRequest() {\n return ['action-fullscreen', 'action-modal'].includes(this.mode)\n },\n },\n}\n","import { CancelToken, isCancel } from 'axios'\nimport debounce from 'lodash/debounce'\nimport forIn from 'lodash/forIn'\nimport get from 'lodash/get'\nimport identity from 'lodash/identity'\nimport isEmpty from 'lodash/isEmpty'\nimport isNil from 'lodash/isNil'\nimport pickBy from 'lodash/pickBy'\nimport FormField from './FormField'\nimport { mapProps } from './propTypes'\nimport filled from '../util/filled'\nimport { escapeUnicode } from '../util/escapeUnicode'\n\nexport default {\n extends: FormField,\n\n emits: ['field-shown', 'field-hidden'],\n\n props: {\n ...mapProps([\n 'shownViaNewRelationModal',\n 'field',\n 'viaResource',\n 'viaResourceId',\n 'viaRelationship',\n 'resourceName',\n 'resourceId',\n 'relatedResourceName',\n 'relatedResourceId',\n ]),\n\n syncEndpoint: { type: String, required: false },\n },\n\n data: () => ({\n dependentFieldDebouncer: null,\n canceller: null,\n watchedFields: {},\n watchedEvents: {},\n syncedField: null,\n pivot: false,\n editMode: 'create',\n }),\n\n created() {\n this.dependentFieldDebouncer = debounce(callback => callback(), 50)\n },\n\n mounted() {\n if (this.relatedResourceName !== '' && !isNil(this.relatedResourceName)) {\n this.pivot = true\n\n if (this.relatedResourceId !== '' && !isNil(this.relatedResourceId)) {\n this.editMode = 'update-attached'\n } else {\n this.editMode = 'attach'\n }\n } else {\n if (this.resourceId !== '' && !isNil(this.resourceId)) {\n this.editMode = 'update'\n }\n }\n\n if (!isEmpty(this.dependsOn)) {\n forIn(this.dependsOn, (defaultValue, dependsOn) => {\n this.watchedEvents[dependsOn] = value => {\n this.watchedFields[dependsOn] = value\n\n this.dependentFieldDebouncer(() => {\n this.watchedFields[dependsOn] = value\n\n this.syncField()\n })\n }\n\n this.watchedFields[dependsOn] = defaultValue\n\n Nova.$on(\n this.getFieldAttributeChangeEventName(dependsOn),\n this.watchedEvents[dependsOn]\n )\n })\n }\n },\n\n beforeUnmount() {\n if (this.canceller !== null) this.canceller()\n\n if (!isEmpty(this.watchedEvents)) {\n forIn(this.watchedEvents, (event, dependsOn) => {\n Nova.$off(this.getFieldAttributeChangeEventName(dependsOn), event)\n })\n }\n },\n\n methods: {\n /*\n * Set the initial value for the field\n */\n setInitialValue() {\n this.value = !(\n this.currentField.value === undefined ||\n this.currentField.value === null\n )\n ? this.currentField.value\n : this.value\n },\n\n /**\n * Provide a function to fills FormData when field is visible.\n */\n fillIfVisible(formData, attribute, value) {\n if (this.currentlyIsVisible) {\n formData.append(attribute, value)\n }\n },\n\n syncField() {\n if (this.canceller !== null) this.canceller()\n\n Nova.request()\n .patch(\n this.syncEndpoint || this.syncFieldEndpoint,\n this.dependentFieldValues,\n {\n params: pickBy(\n {\n editing: true,\n editMode: this.editMode,\n viaResource: this.viaResource,\n viaResourceId: this.viaResourceId,\n viaRelationship: this.viaRelationship,\n field: this.fieldAttribute,\n component: this.field.dependentComponentKey,\n },\n identity\n ),\n cancelToken: new CancelToken(canceller => {\n this.canceller = canceller\n }),\n }\n )\n .then(response => {\n let previousValue = this.currentField.value\n let wasVisible = this.currentlyIsVisible\n\n this.syncedField = response.data\n\n if (this.syncedField.visible !== wasVisible) {\n this.$emit(\n this.syncedField.visible === true\n ? 'field-shown'\n : 'field-hidden',\n this.fieldAttribute\n )\n }\n\n if (isNil(this.syncedField.value)) {\n this.syncedField.value = previousValue\n } else {\n this.setInitialValue()\n }\n\n let emitChangesEvent = !this.syncedFieldValueHasNotChanged()\n\n this.onSyncedField()\n\n if (\n this.syncedField.dependentShouldEmitChangesEvent &&\n emitChangesEvent\n ) {\n this.emitOnSyncedFieldValueChange()\n }\n })\n .catch(e => {\n if (isCancel(e)) {\n return\n }\n\n throw e\n })\n },\n\n onSyncedField() {\n //\n },\n\n emitOnSyncedFieldValueChange() {\n this.emitFieldValueChange(this.field.attribute, this.currentField.value)\n },\n\n syncedFieldValueHasNotChanged() {\n const value = this.currentField.value\n\n if (filled(value)) {\n return !filled(this.value)\n }\n\n return !isNil(value) && value?.toString() === this.value?.toString()\n },\n },\n\n computed: {\n /**\n * Determine the current field\n */\n currentField() {\n return this.syncedField || this.field\n },\n\n /**\n * Determine if the field is in visible mode\n */\n currentlyIsVisible() {\n return this.currentField.visible\n },\n\n /**\n * Determine if the field is in readonly mode\n */\n currentlyIsReadonly() {\n if (this.syncedField !== null) {\n return Boolean(\n this.syncedField.readonly ||\n get(this.syncedField, 'extraAttributes.readonly')\n )\n }\n\n return Boolean(\n this.field.readonly || get(this.field, 'extraAttributes.readonly')\n )\n },\n\n dependsOn() {\n return this.field.dependsOn || []\n },\n\n currentFieldValues() {\n return {\n [this.fieldAttribute]: this.value,\n }\n },\n\n dependentFieldValues() {\n return {\n ...this.currentFieldValues,\n ...this.watchedFields,\n }\n },\n\n encodedDependentFieldValues() {\n return btoa(escapeUnicode(JSON.stringify(this.dependentFieldValues)))\n },\n\n syncFieldEndpoint() {\n if (this.editMode === 'update-attached') {\n return `/nova-api/${this.resourceName}/${this.resourceId}/update-pivot-fields/${this.relatedResourceName}/${this.relatedResourceId}`\n } else if (this.editMode === 'attach') {\n return `/nova-api/${this.resourceName}/${this.resourceId}/creation-pivot-fields/${this.relatedResourceName}`\n } else if (this.editMode === 'update') {\n return `/nova-api/${this.resourceName}/${this.resourceId}/update-fields`\n }\n\n return `/nova-api/${this.resourceName}/creation-fields`\n },\n },\n}\n","import { Errors } from 'form-backend-validation'\n\nexport default {\n props: {\n formUniqueId: {\n type: String,\n },\n },\n\n data: () => ({\n validationErrors: new Errors(),\n }),\n\n methods: {\n /**\n * Handle all response error.\n */\n handleResponseError(error) {\n if (error.response === undefined || error.response.status == 500) {\n Nova.error(this.__('There was a problem submitting the form.'))\n } else if (error.response.status == 422) {\n this.validationErrors = new Errors(error.response.data.errors)\n Nova.error(this.__('There was a problem submitting the form.'))\n } else {\n Nova.error(\n this.__('There was a problem submitting the form.') +\n ' \"' +\n error.response.statusText +\n '\"'\n )\n }\n },\n\n /**\n * Handle creating response error.\n */\n handleOnCreateResponseError(error) {\n this.handleResponseError(error)\n },\n\n /**\n * Handle updating response error.\n */\n handleOnUpdateResponseError(error) {\n if (error.response && error.response.status == 409) {\n Nova.error(\n this.__(\n 'Another user has updated this resource since this page was loaded. Please refresh the page and try again.'\n )\n )\n } else {\n this.handleResponseError(error)\n }\n },\n\n /**\n * Reset validation errors.\n */\n resetErrors() {\n this.validationErrors = new Errors()\n },\n },\n}\n","export default {\n data: () => ({ isWorking: false, fileUploadsCount: 0 }),\n\n methods: {\n /**\n * Handle file upload finishing\n */\n handleFileUploadFinished() {\n this.fileUploadsCount--\n\n if (this.fileUploadsCount < 1) {\n this.fileUploadsCount = 0\n this.isWorking = false\n }\n },\n\n /**\n * Handle file upload starting\n */\n handleFileUploadStarted() {\n this.isWorking = true\n this.fileUploadsCount++\n },\n },\n}\n","import { hourCycle } from '@/util'\n\nexport default {\n computed: {\n /**\n * Get the user's local timezone.\n */\n userTimezone() {\n return Nova.config('userTimezone') || Nova.config('timezone')\n },\n\n /**\n * Determine if the user is used to 12 hour time.\n */\n usesTwelveHourTime() {\n let locale = new Intl.DateTimeFormat().resolvedOptions().locale\n\n return hourCycle(locale) === 12\n },\n },\n}\n","import { mapActions, mapGetters } from 'vuex'\n\nexport default {\n async created() {\n this.syncQueryString()\n },\n\n methods: mapActions(['syncQueryString', 'updateQueryString']),\n computed: mapGetters(['queryStringParams']),\n}\n","import find from 'lodash/find'\n\nexport default {\n computed: {\n /**\n * Get the resource information object for the current resource.\n */\n resourceInformation() {\n return find(Nova.config('resources'), resource => {\n return resource.uriKey === this.resourceName\n })\n },\n\n /**\n * Get the resource information object for the current resource.\n */\n viaResourceInformation() {\n if (!this.viaResource) {\n return\n }\n\n return find(Nova.config('resources'), resource => {\n return resource.uriKey === this.viaResource\n })\n },\n\n /**\n * Determine if the user is authorized to create the current resource.\n */\n authorizedToCreate() {\n if (\n ['hasOneThrough', 'hasManyThrough'].indexOf(this.relationshipType) >= 0\n ) {\n return false\n }\n\n return this.resourceInformation?.authorizedToCreate || false\n },\n },\n}\n","export default {\n data: () => ({ collapsed: false }),\n\n created() {\n const value = localStorage.getItem(this.localStorageKey)\n\n if (value !== 'undefined') {\n this.collapsed = JSON.parse(value) ?? this.collapsedByDefault\n }\n },\n\n unmounted() {\n localStorage.setItem(this.localStorageKey, this.collapsed)\n },\n\n methods: {\n toggleCollapse() {\n this.collapsed = !this.collapsed\n localStorage.setItem(this.localStorageKey, this.collapsed)\n },\n },\n\n computed: {\n ariaExpanded() {\n return this.collapsed === false ? 'true' : 'false'\n },\n\n shouldBeCollapsed() {\n return this.collapsed\n },\n\n localStorageKey() {\n return `nova.navigation.${this.item.key}.collapsed`\n },\n\n collapsedByDefault() {\n return false\n },\n },\n}\n","export default {\n created() {\n Nova.$on('metric-refresh', this.fetch)\n\n Nova.$on('resources-deleted', this.fetch)\n Nova.$on('resources-restored', this.fetch)\n\n if (this.card.refreshWhenActionRuns) {\n Nova.$on('action-executed', this.fetch)\n }\n },\n\n beforeUnmount() {\n Nova.$off('metric-refresh', this.fetch)\n Nova.$off('resources-deleted', this.fetch)\n Nova.$off('resources-restored', this.fetch)\n Nova.$off('action-executed', this.fetch)\n },\n}\n","import { Errors } from 'form-backend-validation'\nimport isNil from 'lodash/isNil'\nimport { mapProps } from './propTypes'\n\nexport default {\n emits: ['file-upload-started', 'file-upload-finished'],\n\n props: mapProps(['resourceName']),\n\n async created() {\n if (this.field.withFiles) {\n const {\n data: { draftId },\n } = await Nova.request().get(\n `/nova-api/${this.resourceName}/field-attachment/${this.fieldAttribute}/draftId`\n )\n\n this.draftId = draftId\n }\n },\n\n data: () => ({ draftId: null }),\n\n methods: {\n /**\n * Upload an attachment\n */\n uploadAttachment(file, { onUploadProgress, onCompleted, onFailure }) {\n const data = new FormData()\n data.append('Content-Type', file.type)\n data.append('attachment', file)\n data.append('draftId', this.draftId)\n\n if (isNil(onUploadProgress)) {\n onUploadProgress = () => {}\n }\n\n if (isNil(onFailure)) {\n onFailure = () => {}\n }\n\n if (isNil(onCompleted)) {\n throw 'Missing onCompleted parameter'\n }\n\n this.$emit('file-upload-started')\n\n Nova.request()\n .post(\n `/nova-api/${this.resourceName}/field-attachment/${this.fieldAttribute}`,\n data,\n { onUploadProgress }\n )\n .then(({ data: { url } }) => {\n const response = onCompleted(url)\n\n this.$emit('file-upload-finished')\n\n return response\n })\n .catch(error => {\n onFailure(error)\n\n if (error.response.status == 422) {\n const validationErrors = new Errors(error.response.data.errors)\n\n Nova.error(\n this.__('An error occurred while uploading the file: :error', {\n error: validationErrors.first('attachment'),\n })\n )\n } else {\n Nova.error(this.__('An error occurred while uploading the file.'))\n }\n })\n },\n\n /**\n * Remove an attachment from the server\n */\n removeAttachment(attachmentUrl) {\n Nova.request()\n .delete(\n `/nova-api/${this.resourceName}/field-attachment/${this.fieldAttribute}`,\n { params: { attachmentUrl } }\n )\n .then(response => {})\n .catch(error => {})\n },\n\n /**\n * Purge pending attachments for the draft\n */\n clearAttachments() {\n if (this.field.withFiles) {\n Nova.request()\n .delete(\n `/nova-api/${this.resourceName}/field-attachment/${this.fieldAttribute}/${this.draftId}`\n )\n .then(response => {})\n .catch(error => {})\n }\n },\n\n /**\n * Fill draft id for the field\n */\n fillAttachmentDraftId(formData) {\n let attribute = this.fieldAttribute\n\n let [name, ...nested] = attribute.split('[')\n\n if (!isNil(nested) && nested.length > 0) {\n let last = nested.pop()\n\n if (nested.length > 0) {\n attribute = `${name}[${nested.join('[')}[${last.slice(0, -1)}DraftId]`\n } else {\n attribute = `${name}[${last.slice(0, -1)}DraftId]`\n }\n } else {\n attribute = `${attribute}DraftId`\n }\n\n this.fillIfVisible(formData, attribute, this.draftId)\n },\n },\n}\n","import { Errors } from 'form-backend-validation'\n\nexport default {\n props: {\n errors: { default: () => new Errors() },\n },\n\n inject: { index: { default: null }, viaParent: { default: null } },\n\n data: () => ({\n errorClass: 'form-input-border-error',\n }),\n\n computed: {\n errorClasses() {\n return this.hasError ? [this.errorClass] : []\n },\n\n fieldAttribute() {\n return this.field.attribute\n },\n\n validationKey() {\n return this.nestedValidationKey || this.field.validationKey\n },\n\n hasError() {\n return this.errors.has(this.validationKey)\n },\n\n firstError() {\n if (this.hasError) {\n return this.errors.first(this.validationKey)\n }\n },\n\n nestedAttribute() {\n if (this.viaParent) {\n return `${this.viaParent}[${this.index}][${this.field.attribute}]`\n }\n },\n\n nestedValidationKey() {\n if (this.viaParent) {\n return `${this.viaParent}.${this.index}.fields.${this.field.attribute}`\n }\n },\n },\n}\n","import { mapProps } from './propTypes'\n\nexport default {\n props: mapProps(['resourceName', 'viaRelationship']),\n\n computed: {\n localStorageKey() {\n let name = this.resourceName\n\n if (this.viaRelationship) {\n name = `${name}.${this.viaRelationship}`\n }\n\n return `nova.resources.${name}.collapsed`\n },\n },\n}\n","export default {\n data: () => ({\n withTrashed: false,\n }),\n\n methods: {\n /**\n * Toggle the trashed state of the search\n */\n toggleWithTrashed() {\n this.withTrashed = !this.withTrashed\n },\n\n /**\n * Enable searching for trashed resources\n */\n enableWithTrashed() {\n this.withTrashed = true\n },\n\n /**\n * Disable searching for trashed resources\n */\n disableWithTrashed() {\n this.withTrashed = false\n },\n },\n}\n","import debounce from 'lodash/debounce'\n\nexport default {\n data: () => ({\n search: '',\n selectedResource: null,\n selectedResourceId: null,\n availableResources: [],\n }),\n\n methods: {\n /**\n * Set the currently selected resource\n */\n selectResource(resource) {\n this.selectedResource = resource\n this.selectedResourceId = resource.value\n\n if (this.field) {\n if (typeof this['emitFieldValueChange'] == 'function') {\n this.emitFieldValueChange(\n this.fieldAttribute,\n this.selectedResourceId\n )\n } else {\n Nova.$emit(this.fieldAttribute + '-change', this.selectedResourceId)\n }\n }\n },\n\n /**\n * Handle the search box being cleared.\n */\n handleSearchCleared() {\n this.availableResources = []\n },\n\n /**\n * Clear the selected resource and availableResources\n */\n clearSelection() {\n this.selectedResource = null\n this.selectedResourceId = null\n this.availableResources = []\n\n if (this.field) {\n if (typeof this['emitFieldValueChange'] == 'function') {\n this.emitFieldValueChange(this.fieldAttribute, null)\n } else {\n Nova.$emit(this.fieldAttribute + '-change', null)\n }\n }\n },\n\n /**\n * Perform a search to get the relatable resources.\n */\n performSearch(search) {\n this.search = search\n\n const trimmedSearch = search.trim()\n // If the user performs an empty search, it will load all the results\n // so let's just set the availableResources to an empty array to avoid\n // loading a huge result set\n if (trimmedSearch == '') {\n return\n }\n\n this.searchDebouncer(() => {\n this.getAvailableResources(trimmedSearch)\n }, 500)\n },\n\n /**\n * Debounce function for the search handler\n */\n searchDebouncer: debounce(callback => callback(), 500),\n },\n}\n","import filter from 'lodash/filter'\n\nexport default {\n props: {\n loadCards: {\n type: Boolean,\n default: true,\n },\n },\n\n data: () => ({ cards: [] }),\n\n /**\n * Fetch all of the metrics panels for this view\n */\n created() {\n this.fetchCards()\n },\n\n watch: {\n cardsEndpoint() {\n this.fetchCards()\n },\n },\n\n methods: {\n async fetchCards() {\n // We disable fetching of cards when the component is being show\n // on a resource detail view to avoid extra network requests\n if (this.loadCards) {\n const { data: cards } = await Nova.request().get(this.cardsEndpoint, {\n params: this.extraCardParams,\n })\n this.cards = cards\n }\n },\n },\n\n computed: {\n /**\n * Determine whether we have cards to show on the Dashboard.\n */\n shouldShowCards() {\n return this.cards.length > 0\n },\n\n /**\n * Determine if the cards array contains some detail-only cards.\n */\n hasDetailOnlyCards() {\n return filter(this.cards, c => c.onlyOnDetail == true).length > 0\n },\n\n /**\n * Get the extra card params to pass to the endpoint.\n */\n extraCardParams() {\n return null\n },\n },\n}\n","import isNil from 'lodash/isNil'\nimport omitBy from 'lodash/omitBy'\n\nexport default {\n computed: {\n suggestionsId() {\n return `${this.fieldAttribute}-list`\n },\n\n suggestions() {\n let field = !isNil(this.syncedField) ? this.syncedField : this.field\n\n if (isNil(field.suggestions)) {\n return []\n }\n\n return field.suggestions\n },\n\n suggestionsAttributes() {\n return {\n ...omitBy(\n {\n list: this.suggestions.length > 0 ? this.suggestionsId : null,\n },\n isNil\n ),\n }\n },\n },\n}\n","import filled from '../util/filled'\n\nexport default {\n props: ['field'],\n\n computed: {\n fieldAttribute() {\n return this.field.attribute\n },\n\n fieldHasValue() {\n return filled(this.field.value)\n },\n\n usesCustomizedDisplay() {\n return this.field.usesCustomizedDisplay && filled(this.field.displayedAs)\n },\n\n fieldValue() {\n if (!this.usesCustomizedDisplay && !this.fieldHasValue) {\n return null\n }\n\n return String(this.field.displayedAs || this.field.value)\n },\n\n shouldDisplayAsHtml() {\n return this.field.asHtml\n },\n },\n}\n","import identity from 'lodash/identity'\nimport pickBy from 'lodash/pickBy'\n\nexport default {\n data: () => ({\n filterHasLoaded: false,\n filterIsActive: false,\n }),\n\n watch: {\n encodedFilters(value) {\n Nova.$emit('filter-changed', [value])\n },\n },\n\n methods: {\n /**\n * Clear filters and reset the resource table\n */\n async clearSelectedFilters(lens) {\n if (lens) {\n await this.$store.dispatch(`${this.resourceName}/resetFilterState`, {\n resourceName: this.resourceName,\n lens,\n })\n } else {\n await this.$store.dispatch(`${this.resourceName}/resetFilterState`, {\n resourceName: this.resourceName,\n })\n }\n\n this.updateQueryString({\n [this.pageParameter]: 1,\n [this.filterParameter]: '',\n })\n\n Nova.$emit('filter-reset')\n },\n\n /**\n * Handle a filter state change.\n */\n filterChanged() {\n let filtersAreApplied =\n this.$store.getters[`${this.resourceName}/filtersAreApplied`]\n\n if (filtersAreApplied || this.filterIsActive) {\n this.filterIsActive = true\n this.updateQueryString({\n [this.pageParameter]: 1,\n [this.filterParameter]: this.encodedFilters,\n })\n }\n },\n\n /**\n * Set up filters for the current view\n */\n async initializeFilters(lens) {\n if (this.filterHasLoaded === true) {\n return\n }\n\n // Clear out the filters from the store first\n this.$store.commit(`${this.resourceName}/clearFilters`)\n\n await this.$store.dispatch(\n `${this.resourceName}/fetchFilters`,\n pickBy(\n {\n resourceName: this.resourceName,\n viaResource: this.viaResource,\n viaResourceId: this.viaResourceId,\n viaRelationship: this.viaRelationship,\n relationshipType: this.relationshipType,\n lens,\n },\n identity\n )\n )\n\n await this.initializeState(lens)\n\n this.filterHasLoaded = true\n },\n\n /**\n * Initialize the filter state\n */\n async initializeState(lens) {\n this.initialEncodedFilters\n ? await this.$store.dispatch(\n `${this.resourceName}/initializeCurrentFilterValuesFromQueryString`,\n this.initialEncodedFilters\n )\n : await this.$store.dispatch(`${this.resourceName}/resetFilterState`, {\n resourceName: this.resourceName,\n lens,\n })\n },\n },\n\n computed: {\n /**\n * Get the name of the filter query string variable.\n */\n filterParameter() {\n return this.resourceName + '_filter'\n },\n\n encodedFilters() {\n return this.$store.getters[`${this.resourceName}/currentEncodedFilters`]\n },\n },\n}\n","import each from 'lodash/each'\nimport filter from 'lodash/filter'\n\nexport default {\n emits: ['field-shown', 'field-hidden'],\n\n data: () => ({\n visibleFieldsForPanel: {},\n }),\n\n created() {\n each(this.panel.fields, field => {\n this.visibleFieldsForPanel[field.attribute] = field.visible\n })\n },\n\n methods: {\n handleFieldShown(field) {\n this.visibleFieldsForPanel[field] = true\n this.$emit('field-shown', field)\n },\n\n handleFieldHidden(field) {\n this.visibleFieldsForPanel[field] = false\n this.$emit('field-hidden', field)\n },\n },\n\n computed: {\n visibleFieldsCount() {\n return Object.entries(\n filter(this.visibleFieldsForPanel, visible => visible === true)\n ).length\n },\n },\n}\n","export default {\n methods: {\n /**\n * Select the previous page.\n */\n selectPreviousPage() {\n this.updateQueryString({ [this.pageParameter]: this.currentPage - 1 })\n },\n\n /**\n * Select the next page.\n */\n selectNextPage() {\n this.updateQueryString({ [this.pageParameter]: this.currentPage + 1 })\n },\n },\n\n computed: {\n /**\n * Get the current page from the query string.\n */\n currentPage() {\n return parseInt(this.queryStringParams[this.pageParameter] || 1)\n },\n },\n}\n","export default {\n data: () => ({ perPage: 25 }),\n\n methods: {\n /**\n * Sync the per page values from the query string.\n */\n initializePerPageFromQueryString() {\n this.perPage = this.currentPerPage\n },\n\n /**\n * Update the desired amount of resources per page.\n */\n perPageChanged() {\n this.updateQueryString({ [this.perPageParameter]: this.perPage })\n },\n },\n\n computed: {\n /**\n * Get the current per page value from the query string.\n */\n currentPerPage() {\n return this.queryStringParams[this.perPageParameter] || 25\n },\n },\n}\n","export default {\n data: () => ({\n pollingListener: null,\n currentlyPolling: false,\n }),\n\n /**\n * Unbind the polling listener before the component is destroyed.\n */\n beforeUnmount() {\n this.stopPolling()\n },\n\n methods: {\n initializePolling() {\n this.currentlyPolling =\n this.currentlyPolling || this.resourceResponse.polling\n\n if (this.currentlyPolling && this.pollingListener === null) {\n return this.startPolling()\n }\n },\n\n /**\n * Toggle polling for new resources.\n */\n togglePolling() {\n if (this.currentlyPolling) {\n this.stopPolling()\n } else {\n this.startPolling()\n }\n },\n\n /**\n * Pause polling for new resources.\n */\n stopPolling() {\n if (this.pollingListener) {\n clearInterval(this.pollingListener)\n this.pollingListener = null\n }\n\n this.currentlyPolling = false\n },\n\n /**\n * Start polling for new resources.\n */\n startPolling() {\n this.pollingListener = setInterval(() => {\n let selectedResources = this.selectedResources ?? []\n\n if (\n document.hasFocus() &&\n document.querySelectorAll('[data-modal-open]').length < 1 &&\n selectedResources.length < 1\n ) {\n this.getResources()\n }\n }, this.pollingInterval)\n\n this.currentlyPolling = true\n },\n\n /**\n * Restart polling for the resource.\n */\n restartPolling() {\n if (this.currentlyPolling === true) {\n this.stopPolling()\n this.startPolling()\n }\n },\n },\n\n computed: {\n initiallyPolling() {\n return this.resourceResponse.polling\n },\n\n pollingInterval() {\n return this.resourceResponse.pollingInterval\n },\n\n /**\n * Determine if the polling toggle button should be shown.\n */\n shouldShowPollingToggle() {\n if (!this.resourceResponse) return false\n\n return this.resourceResponse.showPollingToggle || false\n },\n },\n}\n","import debounce from 'lodash/debounce'\nimport find from 'lodash/find'\nimport includes from 'lodash/includes'\nimport isNull from 'lodash/isNull'\nimport map from 'lodash/map'\nimport { Filterable, InteractsWithQueryString, mapProps } from './index'\nimport { capitalize } from '@/util'\nimport { computed } from 'vue'\nimport filter from 'lodash/filter'\n\nexport default {\n mixins: [Filterable, InteractsWithQueryString],\n\n props: {\n ...mapProps([\n 'resourceName',\n 'viaResource',\n 'viaResourceId',\n 'viaRelationship',\n 'relationshipType',\n 'disablePagination',\n ]),\n\n field: { type: Object },\n initialPerPage: { type: Number, required: false },\n },\n\n provide() {\n return {\n authorizedToViewAnyResources: computed(\n () => this.authorizedToViewAnyResources\n ),\n authorizedToUpdateAnyResources: computed(\n () => this.authorizedToUpdateAnyResources\n ),\n authorizedToDeleteAnyResources: computed(\n () => this.authorizedToDeleteAnyResources\n ),\n authorizedToRestoreAnyResources: computed(\n () => this.authorizedToRestoreAnyResources\n ),\n selectedResourcesCount: computed(() => this.selectedResources.length),\n selectAllChecked: computed(() => this.selectAllChecked),\n selectAllMatchingChecked: computed(() => this.selectAllMatchingChecked),\n selectAllOrSelectAllMatchingChecked: computed(\n () => this.selectAllOrSelectAllMatchingChecked\n ),\n selectAllAndSelectAllMatchingChecked: computed(\n () => this.selectAllAndSelectAllMatchingChecked\n ),\n selectAllIndeterminate: computed(() => this.selectAllIndeterminate),\n orderByParameter: computed(() => this.orderByParameter),\n orderByDirectionParameter: computed(() => this.orderByDirectionParameter),\n }\n },\n\n data: () => ({\n actions: [],\n allMatchingResourceCount: 0,\n authorizedToRelate: false,\n canceller: null,\n currentPageLoadMore: null,\n deleteModalOpen: false,\n initialLoading: true,\n loading: true,\n orderBy: '',\n orderByDirection: '',\n pivotActions: null,\n resourceHasActions: false,\n resourceResponse: null,\n resourceResponseError: null,\n resources: [],\n search: '',\n selectAllMatchingResources: false,\n selectedResources: [],\n softDeletes: false,\n trashed: '',\n }),\n\n async created() {\n if (Nova.missingResource(this.resourceName)) return Nova.visit('/404')\n\n const debouncer = debounce(\n callback => callback(),\n this.resourceInformation.debounce\n )\n\n this.initializeSearchFromQueryString()\n this.initializePerPageFromQueryString()\n this.initializeTrashedFromQueryString()\n this.initializeOrderingFromQueryString()\n\n await this.initializeFilters(this.lens || null)\n await this.getResources()\n\n if (!this.isLensView) {\n await this.getAuthorizationToRelate()\n }\n\n this.getActions()\n\n this.initialLoading = false\n\n this.$watch(\n () => {\n return (\n this.lens +\n this.resourceName +\n this.encodedFilters +\n this.currentSearch +\n this.currentPage +\n this.currentPerPage +\n this.currentOrderBy +\n this.currentOrderByDirection +\n this.currentTrashed\n )\n },\n () => {\n if (this.canceller !== null) this.canceller()\n\n if (this.currentPage === 1) {\n this.currentPageLoadMore = null\n }\n\n this.getResources()\n }\n )\n\n this.$watch('search', newValue => {\n this.search = newValue\n debouncer(() => this.performSearch())\n })\n },\n\n beforeUnmount() {\n if (this.canceller !== null) this.canceller()\n },\n\n methods: {\n /**\n * Handle resources loaded event.\n */\n handleResourcesLoaded() {\n this.loading = false\n\n if (!this.isLensView && this.resourceResponse.total !== null) {\n this.allMatchingResourceCount = this.resourceResponse.total\n } else {\n this.getAllMatchingResourceCount()\n }\n\n Nova.$emit(\n 'resources-loaded',\n this.isLensView\n ? {\n resourceName: this.resourceName,\n lens: this.lens,\n mode: 'lens',\n }\n : {\n resourceName: this.resourceName,\n mode: this.isRelation ? 'related' : 'index',\n }\n )\n\n this.initializePolling()\n },\n\n /**\n * Select all of the available resources\n */\n selectAllResources() {\n this.selectedResources = this.resources.slice(0)\n },\n\n /**\n * Toggle the selection of all resources\n */\n toggleSelectAll(e) {\n if (e) {\n e.preventDefault()\n }\n\n if (this.selectAllChecked) {\n this.clearResourceSelections()\n } else {\n this.selectAllResources()\n }\n\n this.getActions()\n },\n\n /**\n * Toggle the selection of all matching resources in the database\n */\n toggleSelectAllMatching(e) {\n if (e) {\n e.preventDefault()\n }\n\n if (!this.selectAllMatchingResources) {\n this.selectAllResources()\n this.selectAllMatchingResources = true\n } else {\n this.selectAllMatchingResources = false\n }\n\n this.getActions()\n },\n\n /*\n * Update the resource selection status\n */\n updateSelectionStatus(resource) {\n if (!includes(this.selectedResources, resource)) {\n this.selectedResources.push(resource)\n } else {\n const index = this.selectedResources.indexOf(resource)\n if (index > -1) this.selectedResources.splice(index, 1)\n }\n\n this.selectAllMatchingResources = false\n\n this.getActions()\n },\n\n /**\n * Clear the selected resouces and the \"select all\" states.\n */\n clearResourceSelections() {\n this.selectAllMatchingResources = false\n this.selectedResources = []\n },\n\n /**\n * Sort the resources by the given field.\n */\n orderByField(field) {\n let direction = this.currentOrderByDirection == 'asc' ? 'desc' : 'asc'\n\n if (this.currentOrderBy != field.sortableUriKey) {\n direction = 'asc'\n }\n\n this.updateQueryString({\n [this.orderByParameter]: field.sortableUriKey,\n [this.orderByDirectionParameter]: direction,\n })\n },\n\n /**\n * Reset the order by to its default state\n */\n resetOrderBy(field) {\n this.updateQueryString({\n [this.orderByParameter]: field.sortableUriKey,\n [this.orderByDirectionParameter]: null,\n })\n },\n\n /**\n * Sync the current search value from the query string.\n */\n initializeSearchFromQueryString() {\n this.search = this.currentSearch\n },\n\n /**\n * Sync the current order by values from the query string.\n */\n initializeOrderingFromQueryString() {\n this.orderBy = this.currentOrderBy\n this.orderByDirection = this.currentOrderByDirection\n },\n\n /**\n * Sync the trashed state values from the query string.\n */\n initializeTrashedFromQueryString() {\n this.trashed = this.currentTrashed\n },\n\n /**\n * Update the trashed constraint for the resource listing.\n */\n trashedChanged(trashedStatus) {\n this.trashed = trashedStatus\n this.updateQueryString({ [this.trashedParameter]: this.trashed })\n },\n\n /**\n * Update the per page parameter in the query string\n */\n updatePerPageChanged(perPage) {\n this.perPage = perPage\n this.perPageChanged()\n },\n\n /**\n * Select the next page.\n */\n selectPage(page) {\n this.updateQueryString({ [this.pageParameter]: page })\n },\n\n /**\n * Sync the per page values from the query string.\n */\n initializePerPageFromQueryString() {\n this.perPage =\n this.queryStringParams[this.perPageParameter] ||\n this.initialPerPage ||\n this.resourceInformation?.perPageOptions[0] ||\n null\n },\n\n /**\n * Close the delete modal.\n */\n closeDeleteModal() {\n this.deleteModalOpen = false\n },\n\n /**\n * Execute a search against the resource.\n */\n performSearch() {\n this.updateQueryString({\n [this.pageParameter]: 1,\n [this.searchParameter]: this.search,\n })\n },\n\n handleActionExecuted() {\n this.fetchPolicies()\n this.getResources()\n },\n },\n\n computed: {\n /**\n * Determine if the resource has any filters\n */\n hasFilters() {\n return this.$store.getters[`${this.resourceName}/hasFilters`]\n },\n\n /**\n * Get the name of the page query string variable.\n */\n pageParameter() {\n return this.viaRelationship\n ? this.viaRelationship + '_page'\n : this.resourceName + '_page'\n },\n\n /**\n * Determine if all resources are selected on the page.\n */\n selectAllChecked() {\n return this.selectedResources.length == this.resources.length\n },\n\n /**\n * Determine if Select All Dropdown state is indeterminate.\n */\n selectAllIndeterminate() {\n return (\n Boolean(this.selectAllChecked || this.selectAllMatchingChecked) &&\n Boolean(!this.selectAllAndSelectAllMatchingChecked)\n )\n },\n\n selectAllAndSelectAllMatchingChecked() {\n return this.selectAllChecked && this.selectAllMatchingChecked\n },\n\n selectAllOrSelectAllMatchingChecked() {\n return this.selectAllChecked || this.selectAllMatchingChecked\n },\n\n /**\n * Determine if all matching resources are selected.\n */\n selectAllMatchingChecked() {\n return this.selectAllMatchingResources\n },\n\n /**\n * Get the IDs for the selected resources.\n */\n selectedResourceIds() {\n return map(\n this.selectedResources,\n resource => resource.id.pivotValue ?? resource.id.value\n )\n },\n\n /**\n * Get the current search value from the query string.\n */\n currentSearch() {\n return this.queryStringParams[this.searchParameter] || ''\n },\n\n /**\n * Get the current order by value from the query string.\n */\n currentOrderBy() {\n return this.queryStringParams[this.orderByParameter] || ''\n },\n\n /**\n * Get the current order by direction from the query string.\n */\n currentOrderByDirection() {\n return this.queryStringParams[this.orderByDirectionParameter] || null\n },\n\n /**\n * Get the current trashed constraint value from the query string.\n */\n currentTrashed() {\n return this.queryStringParams[this.trashedParameter] || ''\n },\n\n /**\n * Determine if the current resource listing is via a many-to-many relationship.\n */\n viaManyToMany() {\n return (\n this.relationshipType == 'belongsToMany' ||\n this.relationshipType == 'morphToMany'\n )\n },\n\n /**\n * Determine if the index is a relation field\n */\n isRelation() {\n return Boolean(this.viaResourceId && this.viaRelationship)\n },\n\n /**\n * Get the singular name for the resource\n */\n singularName() {\n if (this.isRelation && this.field) {\n return capitalize(this.field.singularLabel)\n }\n\n if (this.resourceInformation) {\n return capitalize(this.resourceInformation.singularLabel)\n }\n },\n\n /**\n * Determine if there are any resources for the view\n */\n hasResources() {\n return Boolean(this.resources.length > 0)\n },\n\n /**\n * Determine if there any lenses for this resource\n */\n hasLenses() {\n return Boolean(this.lenses.length > 0)\n },\n\n /**\n * Determine if the resource should show any cards\n */\n shouldShowCards() {\n // Don't show cards if this resource is beings shown via a relations\n return Boolean(this.cards.length > 0 && !this.isRelation)\n },\n\n /**\n * Determine whether to show the selection checkboxes for resources\n */\n shouldShowCheckboxes() {\n return (\n Boolean(this.hasResources) &&\n Boolean(\n this.resourceHasActions ||\n this.authorizedToDeleteAnyResources ||\n this.canShowDeleteMenu\n )\n )\n },\n\n /**\n * Determine whether the delete menu should be shown to the user\n */\n shouldShowDeleteMenu() {\n return (\n Boolean(this.selectedResources.length > 0) && this.canShowDeleteMenu\n )\n },\n\n /**\n * Determine if any selected resources may be deleted.\n */\n authorizedToDeleteSelectedResources() {\n return Boolean(\n find(this.selectedResources, resource => resource.authorizedToDelete)\n )\n },\n\n /**\n * Determine if any selected resources may be force deleted.\n */\n authorizedToForceDeleteSelectedResources() {\n return Boolean(\n find(\n this.selectedResources,\n resource => resource.authorizedToForceDelete\n )\n )\n },\n\n /**\n * Determine if the user is authorized to view any listed resource.\n */\n authorizedToViewAnyResources() {\n return (\n this.resources.length > 0 &&\n Boolean(find(this.resources, resource => resource.authorizedToView))\n )\n },\n\n /**\n * Determine if the user is authorized to view any listed resource.\n */\n authorizedToUpdateAnyResources() {\n return (\n this.resources.length > 0 &&\n Boolean(find(this.resources, resource => resource.authorizedToUpdate))\n )\n },\n\n /**\n * Determine if the user is authorized to delete any listed resource.\n */\n authorizedToDeleteAnyResources() {\n return (\n this.resources.length > 0 &&\n Boolean(find(this.resources, resource => resource.authorizedToDelete))\n )\n },\n\n /**\n * Determine if the user is authorized to force delete any listed resource.\n */\n authorizedToForceDeleteAnyResources() {\n return (\n this.resources.length > 0 &&\n Boolean(\n find(this.resources, resource => resource.authorizedToForceDelete)\n )\n )\n },\n\n /**\n * Determine if any selected resources may be restored.\n */\n authorizedToRestoreSelectedResources() {\n return Boolean(\n find(this.selectedResources, resource => resource.authorizedToRestore)\n )\n },\n\n /**\n * Determine if the user is authorized to restore any listed resource.\n */\n authorizedToRestoreAnyResources() {\n return (\n this.resources.length > 0 &&\n Boolean(find(this.resources, resource => resource.authorizedToRestore))\n )\n },\n\n /**\n * Return the currently encoded filter string from the store\n */\n encodedFilters() {\n return this.$store.getters[`${this.resourceName}/currentEncodedFilters`]\n },\n\n /**\n * Return the initial encoded filters from the query string\n */\n initialEncodedFilters() {\n return this.queryStringParams[this.filterParameter] || ''\n },\n\n /**\n * Return the pagination component for the resource.\n */\n paginationComponent() {\n return `pagination-${Nova.config('pagination') || 'links'}`\n },\n\n /**\n * Determine if the resources has a next page.\n */\n hasNextPage() {\n return Boolean(\n this.resourceResponse && this.resourceResponse.next_page_url\n )\n },\n\n /**\n * Determine if the resources has a previous page.\n */\n hasPreviousPage() {\n return Boolean(\n this.resourceResponse && this.resourceResponse.prev_page_url\n )\n },\n\n /**\n * Return the total pages for the resource.\n */\n totalPages() {\n return Math.ceil(this.allMatchingResourceCount / this.currentPerPage)\n },\n\n /**\n * Return the resource count label\n */\n resourceCountLabel() {\n const first = this.perPage * (this.currentPage - 1)\n\n return (\n this.resources.length &&\n `${Nova.formatNumber(first + 1)}-${Nova.formatNumber(\n first + this.resources.length\n )} ${this.__('of')} ${Nova.formatNumber(this.allMatchingResourceCount)}`\n )\n },\n\n /**\n * Get the current per page value from the query string.\n */\n currentPerPage() {\n return this.perPage\n },\n\n /**\n * The per-page options configured for this resource.\n */\n perPageOptions() {\n if (this.resourceResponse) {\n return this.resourceResponse.per_page_options\n }\n },\n\n /**\n * Get the default label for the create button\n */\n createButtonLabel() {\n if (this.resourceInformation)\n return this.resourceInformation.createButtonLabel\n\n return this.__('Create')\n },\n\n /**\n * Build the resource request query string.\n */\n resourceRequestQueryString() {\n const queryString = {\n search: this.currentSearch,\n filters: this.encodedFilters,\n orderBy: this.currentOrderBy,\n orderByDirection: this.currentOrderByDirection,\n perPage: this.currentPerPage,\n trashed: this.currentTrashed,\n page: this.currentPage,\n viaResource: this.viaResource,\n viaResourceId: this.viaResourceId,\n viaRelationship: this.viaRelationship,\n viaResourceRelationship: this.viaResourceRelationship,\n relationshipType: this.relationshipType,\n }\n\n if (!this.lensName) {\n queryString['viaRelationship'] = this.viaRelationship\n }\n\n return queryString\n },\n\n /**\n * Determine if the action selector should be shown.\n */\n shouldShowActionSelector() {\n return this.selectedResources.length > 0 || this.haveStandaloneActions\n },\n\n /**\n * Determine if the view is a resource index or a lens.\n */\n isLensView() {\n return this.lens !== '' && this.lens != undefined && this.lens != null\n },\n\n /**\n * Determine whether the pagination component should be shown.\n */\n shouldShowPagination() {\n return (\n this.disablePagination !== true &&\n this.resourceResponse &&\n (this.hasResources || this.hasPreviousPage)\n )\n },\n\n /**\n * Return the current count of all resources\n */\n currentResourceCount() {\n return this.resources.length\n },\n\n /**\n * Get the name of the search query string variable.\n */\n searchParameter() {\n return this.viaRelationship\n ? this.viaRelationship + '_search'\n : this.resourceName + '_search'\n },\n\n /**\n * Get the name of the order by query string variable.\n */\n orderByParameter() {\n return this.viaRelationship\n ? this.viaRelationship + '_order'\n : this.resourceName + '_order'\n },\n\n /**\n * Get the name of the order by direction query string variable.\n */\n orderByDirectionParameter() {\n return this.viaRelationship\n ? this.viaRelationship + '_direction'\n : this.resourceName + '_direction'\n },\n\n /**\n * Get the name of the trashed constraint query string variable.\n */\n trashedParameter() {\n return this.viaRelationship\n ? this.viaRelationship + '_trashed'\n : this.resourceName + '_trashed'\n },\n\n /**\n * Get the name of the per page query string variable.\n */\n perPageParameter() {\n return this.viaRelationship\n ? this.viaRelationship + '_per_page'\n : this.resourceName + '_per_page'\n },\n\n /**\n * Determine whether there are any standalone actions.\n */\n haveStandaloneActions() {\n return filter(this.allActions, a => a.standalone === true).length > 0\n },\n\n /**\n * Return the available actions.\n */\n availableActions() {\n return this.actions\n },\n\n /**\n * Determine if the resource has any pivot actions available.\n */\n hasPivotActions() {\n return this.pivotActions && this.pivotActions.actions.length > 0\n },\n\n /**\n * Get the name of the pivot model for the resource.\n */\n pivotName() {\n return this.pivotActions ? this.pivotActions.name : ''\n },\n\n /**\n * Determine if the resource has any actions available.\n */\n actionsAreAvailable() {\n return this.allActions.length > 0\n },\n\n /**\n * Get all of the actions available to the resource.\n */\n allActions() {\n return this.hasPivotActions\n ? this.actions.concat(this.pivotActions.actions)\n : this.actions\n },\n\n availableStandaloneActions() {\n return this.allActions.filter(a => a.standalone === true)\n },\n\n /**\n * Get the selected resources for the action selector.\n */\n selectedResourcesForActionSelector() {\n return this.selectAllMatchingChecked ? 'all' : this.selectedResourceIds\n },\n },\n}\n","export default {\n fetchAvailableResources(resourceName, options) {\n return Nova.request().get(`/nova-api/${resourceName}/search`, options)\n },\n\n determineIfSoftDeletes(resourceName) {\n return Nova.request().get(`/nova-api/${resourceName}/soft-deletes`)\n },\n}\n","export function escapeUnicode(str) {\n return str.replace(\n /[^\\0-~]/g,\n c => '\\\\u' + ('000' + c.charCodeAt().toString(16)).slice(-4)\n )\n}\n","import isNil from 'lodash/isNil'\n\nexport default function filled(value) {\n return Boolean(!isNil(value) && value !== '')\n}\n","export default function (locale) {\n let hourCycle = Intl.DateTimeFormat(locale, {\n hour: 'numeric',\n }).resolvedOptions().hourCycle\n\n if (hourCycle == 'h23' || hourCycle == 'h24') {\n return 24\n }\n\n return 12\n}\n","export default function increaseOrDecrease(currentValue, startingValue) {\n if (startingValue === 0) {\n return null\n }\n\n if (currentValue > startingValue) {\n return ((currentValue - startingValue) / Math.abs(startingValue)) * 100\n } else {\n return ((startingValue - currentValue) / Math.abs(startingValue)) * -100\n }\n}\n","export default function (originalPromise, delay = 100) {\n return Promise.all([\n originalPromise,\n new Promise(resolve => {\n setTimeout(() => resolve(), delay)\n }),\n ]).then(result => result[0])\n}\n\n// Usage\n// minimum(axios.get('/'))\n// .then(response => console.log('done'))\n// .catch(error => console.log(error))\n","import inflector from 'inflector-js'\nimport isString from 'lodash/isString'\n\nexport default function singularOrPlural(value, suffix) {\n if (isString(suffix) && suffix.match(/^(.*)[A-Za-zÀ-ÖØ-öø-ÿ]$/) == null)\n return suffix\n if (value > 1 || value == 0) return inflector.pluralize(suffix)\n return inflector.singularize(suffix)\n}\n","import upperFirst from 'lodash/upperFirst'\n\nexport default function (string) {\n return upperFirst(string)\n}\n","import forEach from 'lodash/forEach'\n\nexport default function __(key, replace) {\n let translation = Nova.config('translations')[key]\n ? Nova.config('translations')[key]\n : key\n\n forEach(replace, (value, key) => {\n key = new String(key)\n\n if (value === null) {\n console.error(\n `Translation '${translation}' for key '${key}' contains a null replacement.`\n )\n\n return\n }\n\n value = new String(value)\n\n const searches = [\n ':' + key,\n ':' + key.toUpperCase(),\n ':' + key.charAt(0).toUpperCase() + key.slice(1),\n ]\n\n const replacements = [\n value,\n value.toUpperCase(),\n value.charAt(0).toUpperCase() + value.slice(1),\n ]\n\n for (let i = searches.length - 1; i >= 0; i--) {\n translation = translation.replace(searches[i], replacements[i])\n }\n })\n\n return translation\n}\n","\n\n\n","import script from \"./ActionSelector.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ActionSelector.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"ActionSelector.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./AppLogo.vue?vue&type=template&id=428f3aa5\"\nimport script from \"./AppLogo.vue?vue&type=script&lang=js\"\nexport * from \"./AppLogo.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"AppLogo.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./Avatar.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Avatar.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"Avatar.vue\"]])\n\nexport default __exports__","\n\n\n\n\n","import script from \"./Backdrop.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Backdrop.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"Backdrop.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Badge.vue?vue&type=template&id=f27adf2e\"\nimport script from \"./Badge.vue?vue&type=script&lang=js\"\nexport * from \"./Badge.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Badge.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CircleBadge.vue?vue&type=template&id=761ca438\"\nimport script from \"./CircleBadge.vue?vue&type=script&lang=js\"\nexport * from \"./CircleBadge.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CircleBadge.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BooleanOption.vue?vue&type=template&id=33686d40\"\nimport script from \"./BooleanOption.vue?vue&type=script&lang=js\"\nexport * from \"./BooleanOption.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"BooleanOption.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./BasicButton.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./BasicButton.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"BasicButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ButtonInertiaLink.vue?vue&type=template&id=6837e270\"\nimport script from \"./ButtonInertiaLink.vue?vue&type=script&lang=js\"\nexport * from \"./ButtonInertiaLink.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"ButtonInertiaLink.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./CopyButton.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CopyButton.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"CopyButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CreateRelationButton.vue?vue&type=template&id=6ded8006\"\nimport script from \"./CreateRelationButton.vue?vue&type=script&lang=js\"\nexport * from \"./CreateRelationButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CreateRelationButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./DefaultButton.vue?vue&type=template&id=bfd2955a\"\nimport script from \"./DefaultButton.vue?vue&type=script&lang=js\"\nexport * from \"./DefaultButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DefaultButton.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./IconButton.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./IconButton.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"IconButton.vue\"]])\n\nexport default __exports__","import script from \"./InvertedButton.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./InvertedButton.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"InvertedButton.vue\"]])\n\nexport default __exports__","import script from \"./LinkButton.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LinkButton.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"LinkButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./OutlineButton.vue?vue&type=template&id=5628e6a7\"\nimport script from \"./OutlineButton.vue?vue&type=script&lang=js\"\nexport * from \"./OutlineButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"OutlineButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./OutlineButtonInertiaLink.vue?vue&type=template&id=209a0586\"\nimport script from \"./OutlineButtonInertiaLink.vue?vue&type=script&lang=js\"\nexport * from \"./OutlineButtonInertiaLink.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"OutlineButtonInertiaLink.vue\"]])\n\nexport default __exports__","import script from \"./RemoveButton.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./RemoveButton.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"RemoveButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ResourcePollingButton.vue?vue&type=template&id=956359d0\"\nimport script from \"./ResourcePollingButton.vue?vue&type=script&lang=js\"\nexport * from \"./ResourcePollingButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"ResourcePollingButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ToolbarButton.vue?vue&type=template&id=26f287a8\"\nimport script from \"./ToolbarButton.vue?vue&type=script&lang=js\"\nexport * from \"./ToolbarButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"ToolbarButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CancelButton.vue?vue&type=template&id=cbcc6924\"\nimport script from \"./CancelButton.vue?vue&type=script&lang=js\"\nexport * from \"./CancelButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CancelButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Card.vue?vue&type=template&id=220bc6c4\"\nimport script from \"./Card.vue?vue&type=script&lang=js\"\nexport * from \"./Card.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Card.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CardWrapper.vue?vue&type=template&id=58d1265c\"\nimport script from \"./CardWrapper.vue?vue&type=script&lang=js\"\nexport * from \"./CardWrapper.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CardWrapper.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Cards.vue?vue&type=template&id=4f30887a\"\nimport script from \"./Cards.vue?vue&type=script&lang=js\"\nexport * from \"./Cards.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Cards.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./HelpCard.vue?vue&type=template&id=067a1d00\"\nimport script from \"./HelpCard.vue?vue&type=script&lang=js\"\nexport * from \"./HelpCard.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HelpCard.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./Checkbox.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Checkbox.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"Checkbox.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CheckboxWithLabel.vue?vue&type=template&id=19510dbb\"\nimport script from \"./CheckboxWithLabel.vue?vue&type=script&lang=js\"\nexport * from \"./CheckboxWithLabel.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CheckboxWithLabel.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CollapseButton.vue?vue&type=template&id=2d341e2b\"\nimport script from \"./CollapseButton.vue?vue&type=script&lang=js\"\nexport * from \"./CollapseButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CollapseButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./MultiSelectControl.vue?vue&type=template&id=5edf4162\"\nimport script from \"./MultiSelectControl.vue?vue&type=script&lang=js\"\nexport * from \"./MultiSelectControl.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"MultiSelectControl.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SelectControl.vue?vue&type=template&id=7f773714\"\nimport script from \"./SelectControl.vue?vue&type=script&lang=js\"\nexport * from \"./SelectControl.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"SelectControl.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./CreateForm.vue?vue&type=template&id=7da759ee\"\nimport script from \"./CreateForm.vue?vue&type=script&lang=js\"\nexport * from \"./CreateForm.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"CreateForm.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./CreateResourceButton.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CreateResourceButton.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"CreateResourceButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./DefaultField.vue?vue&type=template&id=71339deb\"\nimport script from \"./DefaultField.vue?vue&type=script&lang=js\"\nexport * from \"./DefaultField.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DefaultField.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./DeleteButton.vue?vue&type=template&id=2ce41e13\"\nimport script from \"./DeleteButton.vue?vue&type=script&lang=js\"\nexport * from \"./DeleteButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DeleteButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./DeleteMenu.vue?vue&type=template&id=14daec03\"\nimport script from \"./DeleteMenu.vue?vue&type=script&lang=js\"\nexport * from \"./DeleteMenu.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DeleteMenu.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./DividerLine.vue?vue&type=template&id=844bab18\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DividerLine.vue\"]])\n\nexport default __exports__","\n\n\n\n\n","import script from \"./DropZone.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./DropZone.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"DropZone.vue\"]])\n\nexport default __exports__","\n\n\n\n\n","import { computed } from 'vue'\n\nexport function useFilePreviews(file) {\n const imageTypes = [\n 'image/png',\n 'image/jpeg',\n 'image/gif',\n 'image/svg+xml',\n 'image/webp',\n ]\n\n const type = computed(() =>\n imageTypes.includes(file.value.type) ? 'image' : 'other'\n )\n\n const previewUrl = computed(() =>\n URL.createObjectURL(file.value.originalFile)\n )\n\n const isImage = computed(() => type.value === 'image')\n\n return {\n imageTypes,\n isImage,\n type,\n previewUrl,\n }\n}\n","import script from \"./FilePreviewBlock.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./FilePreviewBlock.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"FilePreviewBlock.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./SingleDropZone.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SingleDropZone.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"SingleDropZone.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./ActionDropdown.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ActionDropdown.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"ActionDropdown.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./DetailActionDropdown.vue?vue&type=template&id=7960daa6\"\nimport script from \"./DetailActionDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./DetailActionDropdown.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DetailActionDropdown.vue\"]])\n\nexport default __exports__","let id = 0\nexport function useId() {\n ++id\n\n return id\n}\n","import { Fragment } from 'vue'\n\nexport function renderSlotFragments(children) {\n if (!children) return []\n return children.flatMap(child => {\n if (child.type === Fragment) return renderSlotFragments(child.children)\n\n return [child]\n })\n}\n","\n","import { useEventListener } from '@vueuse/core'\n\nexport function useCloseOnEsc(callback) {\n return {\n closeOnEsc: useEventListener(document, 'keydown', event => {\n if (event.key === 'Escape') callback()\n }),\n }\n}\n","import script from \"./Dropdown.vue?vue&type=script&lang=js\"\nexport * from \"./Dropdown.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"Dropdown.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./DropdownMenu.vue?vue&type=template&id=55fe6687\"\nimport script from \"./DropdownMenu.vue?vue&type=script&lang=js\"\nexport * from \"./DropdownMenu.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DropdownMenu.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./DropdownMenuItem.vue?vue&type=template&id=6ff065cc\"\nimport script from \"./DropdownMenuItem.vue?vue&type=script&lang=js\"\nexport * from \"./DropdownMenuItem.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DropdownMenuItem.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./InlineActionDropdown.vue?vue&type=template&id=ab4ab296\"\nimport script from \"./InlineActionDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./InlineActionDropdown.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"InlineActionDropdown.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./SelectAllDropdown.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SelectAllDropdown.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"SelectAllDropdown.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./ThemeDropdown.vue?vue&type=template&id=12ba6a37\"\nimport script from \"./ThemeDropdown.vue?vue&type=script&lang=js\"\nexport * from \"./ThemeDropdown.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"ThemeDropdown.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Excerpt.vue?vue&type=template&id=43787bea\"\nimport script from \"./Excerpt.vue?vue&type=script&lang=js\"\nexport * from \"./Excerpt.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Excerpt.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./FadeTransition.vue?vue&type=template&id=13a79b89\"\nimport script from \"./FadeTransition.vue?vue&type=script&lang=js\"\nexport * from \"./FadeTransition.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"FadeTransition.vue\"]])\n\nexport default __exports__","\n\n","import { render } from \"./FieldWrapper.vue?vue&type=template&id=77dfe72c\"\nimport script from \"./FieldWrapper.vue?vue&type=script&lang=js\"\nexport * from \"./FieldWrapper.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"FieldWrapper.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./FilterMenu.vue?vue&type=template&id=9cca04aa\"\nimport script from \"./FilterMenu.vue?vue&type=script&lang=js\"\nexport * from \"./FilterMenu.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"FilterMenu.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./BooleanFilter.vue?vue&type=template&id=7fb03a03\"\nimport script from \"./BooleanFilter.vue?vue&type=script&lang=js\"\nexport * from \"./BooleanFilter.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"BooleanFilter.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./DateFilter.vue?vue&type=template&id=1f3e0b15\"\nimport script from \"./DateFilter.vue?vue&type=script&lang=js\"\nexport * from \"./DateFilter.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"DateFilter.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./FilterContainer.vue?vue&type=template&id=768805da\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"FilterContainer.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SelectFilter.vue?vue&type=template&id=69a5f843\"\nimport script from \"./SelectFilter.vue?vue&type=script&lang=js\"\nexport * from \"./SelectFilter.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"SelectFilter.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./FormButton.vue?vue&type=template&id=8ac3169a\"\nimport script from \"./FormButton.vue?vue&type=script&lang=js\"\nexport * from \"./FormButton.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"FormButton.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./FormLabel.vue?vue&type=template&id=ff9485d0\"\nimport script from \"./FormLabel.vue?vue&type=script&lang=js\"\nexport * from \"./FormLabel.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"FormLabel.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./GlobalSearch.vue?vue&type=template&id=75181505\"\nimport script from \"./GlobalSearch.vue?vue&type=script&lang=js\"\nexport * from \"./GlobalSearch.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"GlobalSearch.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Heading.vue?vue&type=template&id=d5c581f8\"\nimport script from \"./Heading.vue?vue&type=script&lang=js\"\nexport * from \"./Heading.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Heading.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./HelpText.vue?vue&type=template&id=05b33a74\"\nimport script from \"./HelpText.vue?vue&type=script&lang=js\"\nexport * from \"./HelpText.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HelpText.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./HelpTextTooltip.vue?vue&type=template&id=1bba2c51\"\nimport script from \"./HelpTextTooltip.vue?vue&type=script&lang=js\"\nexport * from \"./HelpTextTooltip.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HelpTextTooltip.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineAcademicCap.vue?vue&type=template&id=704dab4d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineAcademicCap.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineAdjustments.vue?vue&type=template&id=781000d7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineAdjustments.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineAnnotation.vue?vue&type=template&id=240da2c0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineAnnotation.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineArchive.vue?vue&type=template&id=5471da2e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArchive.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineArrowCircleDown.vue?vue&type=template&id=5e766de2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowCircleDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowCircleLeft.vue?vue&type=template&id=7c224ebc\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowCircleLeft.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowCircleRight.vue?vue&type=template&id=40e0bbee\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowCircleRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowCircleUp.vue?vue&type=template&id=e685f75e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowCircleUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowDown.vue?vue&type=template&id=7d30a8e6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowLeft.vue?vue&type=template&id=4bd6e794\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowLeft.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowNarrowDown.vue?vue&type=template&id=7d140d7e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowNarrowDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowNarrowLeft.vue?vue&type=template&id=47c1bdc2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowNarrowLeft.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowNarrowRight.vue?vue&type=template&id=78fec2af\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowNarrowRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowNarrowUp.vue?vue&type=template&id=3c155050\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowNarrowUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowRight.vue?vue&type=template&id=6aaf4396\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowUp.vue?vue&type=template&id=34ac6f60\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineArrowsExpand.vue?vue&type=template&id=01a1dc0d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineArrowsExpand.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineAtSymbol.vue?vue&type=template&id=68b5e2af\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineAtSymbol.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineBackspace.vue?vue&type=template&id=2de498fc\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBackspace.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineBadgeCheck.vue?vue&type=template&id=679f87a2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBadgeCheck.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineBan.vue?vue&type=template&id=d2c251e8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBan.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineBeaker.vue?vue&type=template&id=40410525\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBeaker.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineBell.vue?vue&type=template&id=65b619cb\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBell.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineBookOpen.vue?vue&type=template&id=30457a36\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBookOpen.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineBookmark.vue?vue&type=template&id=ef75875c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBookmark.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineBookmarkAlt.vue?vue&type=template&id=461b9f5a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBookmarkAlt.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineBriefcase.vue?vue&type=template&id=5e2a657e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineBriefcase.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCake.vue?vue&type=template&id=f167775c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCake.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCalculator.vue?vue&type=template&id=de188c66\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCalculator.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCalendar.vue?vue&type=template&id=61be856b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCalendar.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCamera.vue?vue&type=template&id=f7d96602\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCamera.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineCash.vue?vue&type=template&id=5a33dd10\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCash.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChartBar.vue?vue&type=template&id=056018b2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChartBar.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChartPie.vue?vue&type=template&id=05c7f2b9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChartPie.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChartSquareBar.vue?vue&type=template&id=184849db\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChartSquareBar.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineChat.vue?vue&type=template&id=49e5d17b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChat.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChatAlt.vue?vue&type=template&id=7dbdd982\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChatAlt.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineChatAlt2.vue?vue&type=template&id=7fd74d7c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChatAlt2.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineCheck.vue?vue&type=template&id=13d802c6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCheck.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineCheckCircle.vue?vue&type=template&id=5cb4843a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCheckCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChevronDoubleDown.vue?vue&type=template&id=ebd017fa\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChevronDoubleDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChevronDoubleLeft.vue?vue&type=template&id=0a716213\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChevronDoubleLeft.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChevronDoubleRight.vue?vue&type=template&id=fd287528\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChevronDoubleRight.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineChevronDoubleUp.vue?vue&type=template&id=693bb7af\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChevronDoubleUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChevronDown.vue?vue&type=template&id=2c607ac2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChevronDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChevronLeft.vue?vue&type=template&id=73fdbdc2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChevronLeft.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChevronRight.vue?vue&type=template&id=fdc51454\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChevronRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChevronUp.vue?vue&type=template&id=4f88e980\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChevronUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineChip.vue?vue&type=template&id=cf1633ae\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineChip.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineClipboard.vue?vue&type=template&id=2b3425f6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineClipboard.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineClipboardCheck.vue?vue&type=template&id=9a873d9c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineClipboardCheck.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineClipboardCopy.vue?vue&type=template&id=5a0e161e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineClipboardCopy.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineClipboardList.vue?vue&type=template&id=f9d1eb40\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineClipboardList.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineClock.vue?vue&type=template&id=66dba41f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineClock.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCloud.vue?vue&type=template&id=52f6b60e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCloud.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCloudDownload.vue?vue&type=template&id=49bc5722\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCloudDownload.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCloudUpload.vue?vue&type=template&id=10f6a71e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCloudUpload.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCode.vue?vue&type=template&id=567b706a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCode.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineCog.vue?vue&type=template&id=983eecb2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCog.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCollection.vue?vue&type=template&id=436522ee\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCollection.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineColorSwatch.vue?vue&type=template&id=3628d9ac\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineColorSwatch.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCreditCard.vue?vue&type=template&id=205b6bc6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCreditCard.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCube.vue?vue&type=template&id=07e46786\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCube.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCubeTransparent.vue?vue&type=template&id=625dca67\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCubeTransparent.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCurrencyBangladeshi.vue?vue&type=template&id=b8e12472\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCurrencyBangladeshi.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCurrencyDollar.vue?vue&type=template&id=d21a424a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCurrencyDollar.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineCurrencyEuro.vue?vue&type=template&id=66945171\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCurrencyEuro.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineCurrencyPound.vue?vue&type=template&id=505f5fbc\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCurrencyPound.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineCurrencyRupee.vue?vue&type=template&id=f05d41a0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCurrencyRupee.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineCurrencyYen.vue?vue&type=template&id=6b29e3df\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCurrencyYen.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineCursorClick.vue?vue&type=template&id=1f460a78\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineCursorClick.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDatabase.vue?vue&type=template&id=11cba70d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDatabase.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDesktopComputer.vue?vue&type=template&id=46b297aa\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDesktopComputer.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDeviceMobile.vue?vue&type=template&id=f3c4435e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDeviceMobile.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDeviceTablet.vue?vue&type=template&id=3ba55ee0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDeviceTablet.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDocument.vue?vue&type=template&id=223f3098\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDocument.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDocumentAdd.vue?vue&type=template&id=25af8ba7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDocumentAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDocumentDownload.vue?vue&type=template&id=30d19eee\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDocumentDownload.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineDocumentDuplicate.vue?vue&type=template&id=c27ba766\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDocumentDuplicate.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDocumentRemove.vue?vue&type=template&id=2d8d84b7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDocumentRemove.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDocumentReport.vue?vue&type=template&id=8929bfc2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDocumentReport.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDocumentSearch.vue?vue&type=template&id=fd5cb2a4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDocumentSearch.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDocumentText.vue?vue&type=template&id=2dbfb0b0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDocumentText.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDotsCircleHorizontal.vue?vue&type=template&id=c890dffc\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDotsCircleHorizontal.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDotsHorizontal.vue?vue&type=template&id=11e4e087\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDotsHorizontal.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDotsVertical.vue?vue&type=template&id=68f9cf6d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDotsVertical.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDownload.vue?vue&type=template&id=00013c58\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDownload.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineDuplicate.vue?vue&type=template&id=340d4d26\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineDuplicate.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineEmojiHappy.vue?vue&type=template&id=0f98c4c0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineEmojiHappy.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineEmojiSad.vue?vue&type=template&id=32f9f85e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineEmojiSad.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineExclamation.vue?vue&type=template&id=4beb75d7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineExclamation.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineExclamationCircle.vue?vue&type=template&id=28e8743a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineExclamationCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineExternalLink.vue?vue&type=template&id=f6f64a4a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineExternalLink.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineEye.vue?vue&type=template&id=fa08dc86\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineEye.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineEyeOff.vue?vue&type=template&id=8297b062\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineEyeOff.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFastForward.vue?vue&type=template&id=68ccaa02\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFastForward.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFilm.vue?vue&type=template&id=a5cc6a6e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFilm.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFilter.vue?vue&type=template&id=061c0808\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFilter.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFingerPrint.vue?vue&type=template&id=ef400314\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFingerPrint.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFire.vue?vue&type=template&id=4822ea48\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFire.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFlag.vue?vue&type=template&id=2a2054c5\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFlag.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFolder.vue?vue&type=template&id=1fcee8fd\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFolder.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFolderAdd.vue?vue&type=template&id=9798bcea\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFolderAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFolderDownload.vue?vue&type=template&id=ac6bd2d2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFolderDownload.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineFolderOpen.vue?vue&type=template&id=aaf764bc\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFolderOpen.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineFolderRemove.vue?vue&type=template&id=c700e976\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineFolderRemove.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineGift.vue?vue&type=template&id=0f4497c0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineGift.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineGlobe.vue?vue&type=template&id=a794e872\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineGlobe.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineGlobeAlt.vue?vue&type=template&id=bf41d264\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineGlobeAlt.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineHand.vue?vue&type=template&id=f2c03644\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineHand.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineHashtag.vue?vue&type=template&id=42c5e37c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineHashtag.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineHeart.vue?vue&type=template&id=3852c974\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineHeart.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineHome.vue?vue&type=template&id=10624ae9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineHome.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineIdentification.vue?vue&type=template&id=68fb8fdf\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineIdentification.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineInbox.vue?vue&type=template&id=fd12475c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineInbox.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineInboxIn.vue?vue&type=template&id=611d796c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineInboxIn.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineInformationCircle.vue?vue&type=template&id=574d08d0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineInformationCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineKey.vue?vue&type=template&id=6ff0cc63\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineKey.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineLibrary.vue?vue&type=template&id=02c0a2e9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLibrary.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineLightBulb.vue?vue&type=template&id=16528082\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLightBulb.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineLightningBolt.vue?vue&type=template&id=4b54bea9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLightningBolt.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineLink.vue?vue&type=template&id=ab77180e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLink.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineLocationMarker.vue?vue&type=template&id=5a3118ff\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLocationMarker.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineLockClosed.vue?vue&type=template&id=5a9370b1\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLockClosed.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineLockOpen.vue?vue&type=template&id=bc2a5a72\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLockOpen.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineLogin.vue?vue&type=template&id=50e0f786\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLogin.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineLogout.vue?vue&type=template&id=cd737f14\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineLogout.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineMail.vue?vue&type=template&id=0deb82a6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMail.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineMailOpen.vue?vue&type=template&id=1ca7b1a6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMailOpen.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineMap.vue?vue&type=template&id=2e0d16a4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMap.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineMenu.vue?vue&type=template&id=27b43e46\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMenu.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineMenuAlt1.vue?vue&type=template&id=213803c2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMenuAlt1.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineMenuAlt2.vue?vue&type=template&id=24ae0bd4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMenuAlt2.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineMenuAlt3.vue?vue&type=template&id=6a9c0024\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMenuAlt3.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineMenuAlt4.vue?vue&type=template&id=38f87317\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMenuAlt4.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineMicrophone.vue?vue&type=template&id=2960b3d3\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMicrophone.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineMinus.vue?vue&type=template&id=6533d24c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMinus.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineMinusCircle.vue?vue&type=template&id=359d4aec\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMinusCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineMoon.vue?vue&type=template&id=174f5433\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMoon.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineMusicNote.vue?vue&type=template&id=dda5004e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineMusicNote.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineNewspaper.vue?vue&type=template&id=6051826e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineNewspaper.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineOfficeBuilding.vue?vue&type=template&id=338670a8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineOfficeBuilding.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlinePaperAirplane.vue?vue&type=template&id=6b696cc8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePaperAirplane.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlinePaperClip.vue?vue&type=template&id=4dc404f7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePaperClip.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePause.vue?vue&type=template&id=a00a85a2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePause.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePencil.vue?vue&type=template&id=46d406ee\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePencil.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePencilAlt.vue?vue&type=template&id=6624e093\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePencilAlt.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePhone.vue?vue&type=template&id=c114e88c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePhone.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlinePhoneIncoming.vue?vue&type=template&id=35fc04e4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePhoneIncoming.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePhoneMissedCall.vue?vue&type=template&id=3d4cf67c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePhoneMissedCall.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePhoneOutgoing.vue?vue&type=template&id=4b87d51d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePhoneOutgoing.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlinePhotograph.vue?vue&type=template&id=d4bf5ec2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePhotograph.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlinePlay.vue?vue&type=template&id=59763b81\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePlay.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePlus.vue?vue&type=template&id=2cee4aee\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePlus.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePlusCircle.vue?vue&type=template&id=ba6005f4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePlusCircle.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlinePresentationChartBar.vue?vue&type=template&id=d1f1dd4a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePresentationChartBar.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePresentationChartLine.vue?vue&type=template&id=47615ec9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePresentationChartLine.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlinePrinter.vue?vue&type=template&id=77ee8f86\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePrinter.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlinePuzzle.vue?vue&type=template&id=3cf9bdab\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlinePuzzle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineQrcode.vue?vue&type=template&id=1fa0c7c0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineQrcode.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineQuestionMarkCircle.vue?vue&type=template&id=32dd8384\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineQuestionMarkCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineReceiptRefund.vue?vue&type=template&id=7311c2e7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineReceiptRefund.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineReceiptTax.vue?vue&type=template&id=5d606d62\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineReceiptTax.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineRefresh.vue?vue&type=template&id=65d33555\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineRefresh.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineReply.vue?vue&type=template&id=7c4be9ac\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineReply.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineRewind.vue?vue&type=template&id=0b50b730\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineRewind.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineRss.vue?vue&type=template&id=6fffc871\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineRss.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineSave.vue?vue&type=template&id=2045dbe3\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSave.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSaveAs.vue?vue&type=template&id=347525da\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSaveAs.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineScale.vue?vue&type=template&id=318cc8b3\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineScale.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineScissors.vue?vue&type=template&id=24f2a0e0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineScissors.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineSearch.vue?vue&type=template&id=28762b55\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSearch.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSearchCircle.vue?vue&type=template&id=ecc53f5e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSearchCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSelector.vue?vue&type=template&id=776b4f57\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSelector.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineServer.vue?vue&type=template&id=18bc74fe\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineServer.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineShare.vue?vue&type=template&id=fc309cc4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineShare.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineShieldCheck.vue?vue&type=template&id=516360b9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineShieldCheck.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineShieldExclamation.vue?vue&type=template&id=62e7a19c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineShieldExclamation.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineShoppingBag.vue?vue&type=template&id=65b3cf67\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineShoppingBag.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineShoppingCart.vue?vue&type=template&id=3412f4a5\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineShoppingCart.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSortAscending.vue?vue&type=template&id=1ee52794\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSortAscending.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSortDescending.vue?vue&type=template&id=347c92cf\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSortDescending.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSparkles.vue?vue&type=template&id=7094f7d4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSparkles.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSpeakerphone.vue?vue&type=template&id=60aa4362\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSpeakerphone.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineStar.vue?vue&type=template&id=a491062a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineStar.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineStatusOffline.vue?vue&type=template&id=0bc24284\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineStatusOffline.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineStatusOnline.vue?vue&type=template&id=53f85792\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineStatusOnline.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineStop.vue?vue&type=template&id=d4bd2d12\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineStop.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSun.vue?vue&type=template&id=0103619b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSun.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineSupport.vue?vue&type=template&id=6107879f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSupport.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineSwitchHorizontal.vue?vue&type=template&id=454e4773\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSwitchHorizontal.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineSwitchVertical.vue?vue&type=template&id=03bceec9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineSwitchVertical.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineTable.vue?vue&type=template&id=3f1aad10\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTable.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineTag.vue?vue&type=template&id=388449f0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTag.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineTemplate.vue?vue&type=template&id=a0081f5c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTemplate.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineTerminal.vue?vue&type=template&id=7a15f79c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTerminal.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineThumbDown.vue?vue&type=template&id=651f6ddd\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineThumbDown.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineThumbUp.vue?vue&type=template&id=02432621\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineThumbUp.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineTicket.vue?vue&type=template&id=2aa816fd\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTicket.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineTranslate.vue?vue&type=template&id=751a6296\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTranslate.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineTrash.vue?vue&type=template&id=6469b340\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTrash.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineTrendingDown.vue?vue&type=template&id=5630f885\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTrendingDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineTrendingUp.vue?vue&type=template&id=34545f94\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTrendingUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineTruck.vue?vue&type=template&id=5335d8e0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineTruck.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineUpload.vue?vue&type=template&id=4902c460\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineUpload.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineUser.vue?vue&type=template&id=6453ff29\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineUser.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineUserAdd.vue?vue&type=template&id=d733543c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineUserAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineUserCircle.vue?vue&type=template&id=2735f653\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineUserCircle.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineUserGroup.vue?vue&type=template&id=63de9e3a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineUserGroup.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineUserRemove.vue?vue&type=template&id=ea7cb518\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineUserRemove.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineUsers.vue?vue&type=template&id=2bb4513e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineUsers.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineVariable.vue?vue&type=template&id=7d8b39ce\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineVariable.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineVideoCamera.vue?vue&type=template&id=5d9f1e3e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineVideoCamera.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineViewBoards.vue?vue&type=template&id=0947c624\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineViewBoards.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineViewGrid.vue?vue&type=template&id=2129fd0c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineViewGrid.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineViewGridAdd.vue?vue&type=template&id=532aa443\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineViewGridAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineViewList.vue?vue&type=template&id=ed6e8316\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineViewList.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineVolumeOff.vue?vue&type=template&id=59daa9be\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineVolumeOff.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsOutlineVolumeUp.vue?vue&type=template&id=ab8048e6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineVolumeUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineWifi.vue?vue&type=template&id=9158bdf4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineWifi.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineX.vue?vue&type=template&id=a0da7b76\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineX.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineXCircle.vue?vue&type=template&id=7bdca590\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineXCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineZoomIn.vue?vue&type=template&id=5bbb8a84\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineZoomIn.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsOutlineZoomOut.vue?vue&type=template&id=0b5fb714\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsOutlineZoomOut.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidAcademicCap.vue?vue&type=template&id=f9a7882a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidAcademicCap.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidAdjustments.vue?vue&type=template&id=6b7a790d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidAdjustments.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidAnnotation.vue?vue&type=template&id=6ecd6d96\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidAnnotation.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidArchive.vue?vue&type=template&id=68877b0c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArchive.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowCircleDown.vue?vue&type=template&id=3938d236\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowCircleDown.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidArrowCircleLeft.vue?vue&type=template&id=82cff8be\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowCircleLeft.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidArrowCircleRight.vue?vue&type=template&id=1d691bf2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowCircleRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowCircleUp.vue?vue&type=template&id=df4921ce\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowCircleUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowDown.vue?vue&type=template&id=2f373bb5\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowLeft.vue?vue&type=template&id=6b10d9ce\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowLeft.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowNarrowDown.vue?vue&type=template&id=1782abc0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowNarrowDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowNarrowLeft.vue?vue&type=template&id=19543535\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowNarrowLeft.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidArrowNarrowRight.vue?vue&type=template&id=df445764\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowNarrowRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowNarrowUp.vue?vue&type=template&id=872245d8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowNarrowUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowRight.vue?vue&type=template&id=1e952ad3\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidArrowUp.vue?vue&type=template&id=b2b5843e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowUp.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidArrowsExpand.vue?vue&type=template&id=7458b5c2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidArrowsExpand.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidAtSymbol.vue?vue&type=template&id=12e3ed40\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidAtSymbol.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidBackspace.vue?vue&type=template&id=cb571f60\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBackspace.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidBadgeCheck.vue?vue&type=template&id=72d7d4d7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBadgeCheck.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidBan.vue?vue&type=template&id=182a0047\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBan.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidBeaker.vue?vue&type=template&id=19aeba84\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBeaker.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidBell.vue?vue&type=template&id=512951c5\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBell.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidBookOpen.vue?vue&type=template&id=ec073da6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBookOpen.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidBookmark.vue?vue&type=template&id=20ebe4f8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBookmark.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidBookmarkAlt.vue?vue&type=template&id=d8b3f644\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBookmarkAlt.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidBriefcase.vue?vue&type=template&id=a07d9244\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidBriefcase.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCake.vue?vue&type=template&id=1f7b98c3\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCake.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCalculator.vue?vue&type=template&id=b39f9a9c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCalculator.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCalendar.vue?vue&type=template&id=8419ae0e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCalendar.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCamera.vue?vue&type=template&id=fa2d198c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCamera.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCash.vue?vue&type=template&id=71d153fc\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCash.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChartBar.vue?vue&type=template&id=24d7243f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChartBar.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChartPie.vue?vue&type=template&id=4e1ce3d7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChartPie.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChartSquareBar.vue?vue&type=template&id=37466eed\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChartSquareBar.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChat.vue?vue&type=template&id=9c9eb924\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChat.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidChatAlt.vue?vue&type=template&id=304000ee\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChatAlt.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidChatAlt2.vue?vue&type=template&id=87e9eb88\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChatAlt2.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCheck.vue?vue&type=template&id=46b852e0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCheck.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCheckCircle.vue?vue&type=template&id=f5fd9cbe\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCheckCircle.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidChevronDoubleDown.vue?vue&type=template&id=15d4ad2b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChevronDoubleDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChevronDoubleLeft.vue?vue&type=template&id=72ac9ef1\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChevronDoubleLeft.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChevronDoubleRight.vue?vue&type=template&id=129077bf\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChevronDoubleRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChevronDoubleUp.vue?vue&type=template&id=bd072932\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChevronDoubleUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChevronDown.vue?vue&type=template&id=1838d352\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChevronDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChevronLeft.vue?vue&type=template&id=3b0b58ea\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChevronLeft.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidChevronRight.vue?vue&type=template&id=5a03d9de\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChevronRight.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidChevronUp.vue?vue&type=template&id=20b1126c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChevronUp.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidChip.vue?vue&type=template&id=10d8c133\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidChip.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidClipboard.vue?vue&type=template&id=31f3018a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidClipboard.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidClipboardCheck.vue?vue&type=template&id=21d124e0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidClipboardCheck.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidClipboardCopy.vue?vue&type=template&id=52c96fb8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidClipboardCopy.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidClipboardList.vue?vue&type=template&id=74787424\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidClipboardList.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidClock.vue?vue&type=template&id=7e583971\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidClock.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCloud.vue?vue&type=template&id=6d2a5f1e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCloud.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCloudDownload.vue?vue&type=template&id=aa9a2336\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCloudDownload.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCloudUpload.vue?vue&type=template&id=be34d926\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCloudUpload.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCode.vue?vue&type=template&id=6b507c67\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCode.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCog.vue?vue&type=template&id=d808a8ec\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCog.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCollection.vue?vue&type=template&id=18bd1cd6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCollection.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidColorSwatch.vue?vue&type=template&id=bf63c686\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidColorSwatch.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCreditCard.vue?vue&type=template&id=260d5666\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCreditCard.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCube.vue?vue&type=template&id=e8260aac\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCube.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCubeTransparent.vue?vue&type=template&id=79fcb5c0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCubeTransparent.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCurrencyBangladeshi.vue?vue&type=template&id=789e1b8f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCurrencyBangladeshi.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCurrencyDollar.vue?vue&type=template&id=0809505a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCurrencyDollar.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCurrencyEuro.vue?vue&type=template&id=26e08cc6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCurrencyEuro.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCurrencyPound.vue?vue&type=template&id=1ff011e6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCurrencyPound.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidCurrencyRupee.vue?vue&type=template&id=d22ca512\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCurrencyRupee.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCurrencyYen.vue?vue&type=template&id=4ecad94c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCurrencyYen.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidCursorClick.vue?vue&type=template&id=3aada87f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidCursorClick.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDatabase.vue?vue&type=template&id=e28338fc\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDatabase.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidDesktopComputer.vue?vue&type=template&id=28e625f8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDesktopComputer.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidDeviceMobile.vue?vue&type=template&id=700978a7\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDeviceMobile.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidDeviceTablet.vue?vue&type=template&id=3833e286\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDeviceTablet.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDocument.vue?vue&type=template&id=33c30ed3\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDocument.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDocumentAdd.vue?vue&type=template&id=5e04850a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDocumentAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDocumentDownload.vue?vue&type=template&id=292175b8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDocumentDownload.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDocumentDuplicate.vue?vue&type=template&id=45277a99\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDocumentDuplicate.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDocumentRemove.vue?vue&type=template&id=0a57cd7e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDocumentRemove.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDocumentReport.vue?vue&type=template&id=78d0c61a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDocumentReport.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidDocumentSearch.vue?vue&type=template&id=58c3dec2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDocumentSearch.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidDocumentText.vue?vue&type=template&id=7925094d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDocumentText.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDotsCircleHorizontal.vue?vue&type=template&id=46c4b074\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDotsCircleHorizontal.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDotsHorizontal.vue?vue&type=template&id=2fdeea6b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDotsHorizontal.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidDotsVertical.vue?vue&type=template&id=cff6d19e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDotsVertical.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDownload.vue?vue&type=template&id=0ff2aa28\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDownload.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidDuplicate.vue?vue&type=template&id=f4d94354\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidDuplicate.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidEmojiHappy.vue?vue&type=template&id=6f2e3b76\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidEmojiHappy.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidEmojiSad.vue?vue&type=template&id=4d9e49e0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidEmojiSad.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidExclamation.vue?vue&type=template&id=16b8db67\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidExclamation.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidExclamationCircle.vue?vue&type=template&id=f0ff31c8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidExclamationCircle.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidExternalLink.vue?vue&type=template&id=747591ff\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidExternalLink.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidEye.vue?vue&type=template&id=3f043938\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidEye.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidEyeOff.vue?vue&type=template&id=c7737fc6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidEyeOff.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidFastForward.vue?vue&type=template&id=52b18f2f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFastForward.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidFilm.vue?vue&type=template&id=4aca2477\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFilm.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidFilter.vue?vue&type=template&id=9c726118\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFilter.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidFingerPrint.vue?vue&type=template&id=a4b19d38\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFingerPrint.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidFire.vue?vue&type=template&id=e42f476c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFire.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidFlag.vue?vue&type=template&id=1c35213d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFlag.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidFolder.vue?vue&type=template&id=71572aca\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFolder.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidFolderAdd.vue?vue&type=template&id=63879046\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFolderAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidFolderDownload.vue?vue&type=template&id=4e8090a6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFolderDownload.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidFolderOpen.vue?vue&type=template&id=5a3b440e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFolderOpen.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidFolderRemove.vue?vue&type=template&id=7d7a6ce1\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidFolderRemove.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidGift.vue?vue&type=template&id=30f8fce0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidGift.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidGlobe.vue?vue&type=template&id=05bbccfa\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidGlobe.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidGlobeAlt.vue?vue&type=template&id=11542a04\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidGlobeAlt.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidHand.vue?vue&type=template&id=63522f70\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidHand.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidHashtag.vue?vue&type=template&id=65c7ca20\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidHashtag.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidHeart.vue?vue&type=template&id=91bc4b7a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidHeart.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidHome.vue?vue&type=template&id=d1d7c13e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidHome.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidIdentification.vue?vue&type=template&id=3f4eb722\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidIdentification.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidInbox.vue?vue&type=template&id=0861ce4e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidInbox.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidInboxIn.vue?vue&type=template&id=a4729874\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidInboxIn.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidInformationCircle.vue?vue&type=template&id=3fe6e886\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidInformationCircle.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidKey.vue?vue&type=template&id=156a6110\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidKey.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidLibrary.vue?vue&type=template&id=46f0dc25\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLibrary.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidLightBulb.vue?vue&type=template&id=25bd834b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLightBulb.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidLightningBolt.vue?vue&type=template&id=7535e928\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLightningBolt.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidLink.vue?vue&type=template&id=669b496b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLink.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidLocationMarker.vue?vue&type=template&id=390a8934\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLocationMarker.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidLockClosed.vue?vue&type=template&id=9ae7e13a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLockClosed.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidLockOpen.vue?vue&type=template&id=1e428bee\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLockOpen.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidLogin.vue?vue&type=template&id=611acd21\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLogin.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidLogout.vue?vue&type=template&id=c358ff56\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidLogout.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMail.vue?vue&type=template&id=0d4cdb38\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMail.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMailOpen.vue?vue&type=template&id=2260e15f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMailOpen.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMap.vue?vue&type=template&id=1af3da7c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMap.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMenu.vue?vue&type=template&id=15543d3b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMenu.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidMenuAlt1.vue?vue&type=template&id=7e189390\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMenuAlt1.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidMenuAlt2.vue?vue&type=template&id=7ce6bdfe\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMenuAlt2.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMenuAlt3.vue?vue&type=template&id=d909da82\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMenuAlt3.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMenuAlt4.vue?vue&type=template&id=e83a5438\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMenuAlt4.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMicrophone.vue?vue&type=template&id=11aa669b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMicrophone.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMinus.vue?vue&type=template&id=6397b9fe\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMinus.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMinusCircle.vue?vue&type=template&id=bae6c64e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMinusCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidMoon.vue?vue&type=template&id=7aeb9e8a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMoon.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidMusicNote.vue?vue&type=template&id=15ae3d7b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidMusicNote.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidNewspaper.vue?vue&type=template&id=1f4d7d20\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidNewspaper.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidOfficeBuilding.vue?vue&type=template&id=8a8d9248\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidOfficeBuilding.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidPaperAirplane.vue?vue&type=template&id=2184db46\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPaperAirplane.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPaperClip.vue?vue&type=template&id=3f2a303c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPaperClip.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPause.vue?vue&type=template&id=9873253c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPause.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidPencil.vue?vue&type=template&id=2fc00666\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPencil.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPencilAlt.vue?vue&type=template&id=cac6e61c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPencilAlt.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPhone.vue?vue&type=template&id=0b171e2d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPhone.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidPhoneIncoming.vue?vue&type=template&id=84c6c904\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPhoneIncoming.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPhoneMissedCall.vue?vue&type=template&id=6b904d2b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPhoneMissedCall.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPhoneOutgoing.vue?vue&type=template&id=191d014a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPhoneOutgoing.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPhotograph.vue?vue&type=template&id=4dcc7618\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPhotograph.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPlay.vue?vue&type=template&id=5193134f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPlay.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidPlus.vue?vue&type=template&id=53fca7dc\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPlus.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPlusCircle.vue?vue&type=template&id=263948aa\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPlusCircle.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidPresentationChartBar.vue?vue&type=template&id=2f1c09ce\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPresentationChartBar.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPresentationChartLine.vue?vue&type=template&id=57cc807d\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPresentationChartLine.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPrinter.vue?vue&type=template&id=76be5a0c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPrinter.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidPuzzle.vue?vue&type=template&id=3614886c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidPuzzle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidQrcode.vue?vue&type=template&id=5b5c1548\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidQrcode.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidQuestionMarkCircle.vue?vue&type=template&id=0334628c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidQuestionMarkCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidReceiptRefund.vue?vue&type=template&id=03aa2e3c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidReceiptRefund.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidReceiptTax.vue?vue&type=template&id=63aa6418\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidReceiptTax.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidRefresh.vue?vue&type=template&id=2e588462\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidRefresh.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidReply.vue?vue&type=template&id=6201766b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidReply.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidRewind.vue?vue&type=template&id=42a730a9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidRewind.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidRss.vue?vue&type=template&id=390943af\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidRss.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSave.vue?vue&type=template&id=207481d5\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSave.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidSaveAs.vue?vue&type=template&id=0d73f552\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSaveAs.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidScale.vue?vue&type=template&id=4a717a33\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidScale.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidScissors.vue?vue&type=template&id=8eeb81f4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidScissors.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSearch.vue?vue&type=template&id=6a848d40\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSearch.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidSearchCircle.vue?vue&type=template&id=709d425c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSearchCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSelector.vue?vue&type=template&id=e4eaa82e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSelector.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidServer.vue?vue&type=template&id=6942e04b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidServer.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidShare.vue?vue&type=template&id=04933b0c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidShare.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidShieldCheck.vue?vue&type=template&id=b509a0ce\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidShieldCheck.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidShieldExclamation.vue?vue&type=template&id=15e6a91b\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidShieldExclamation.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidShoppingBag.vue?vue&type=template&id=bc40903e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidShoppingBag.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidShoppingCart.vue?vue&type=template&id=50732628\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidShoppingCart.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidSortAscending.vue?vue&type=template&id=045934b9\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSortAscending.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSortDescending.vue?vue&type=template&id=8bdd6142\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSortDescending.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSparkles.vue?vue&type=template&id=ebd47004\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSparkles.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSpeakerphone.vue?vue&type=template&id=d48807de\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSpeakerphone.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidStar.vue?vue&type=template&id=c95b231a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidStar.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidStatusOffline.vue?vue&type=template&id=41febec0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidStatusOffline.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidStatusOnline.vue?vue&type=template&id=0a074323\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidStatusOnline.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidStop.vue?vue&type=template&id=2a021212\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidStop.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSun.vue?vue&type=template&id=494cd818\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSun.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSupport.vue?vue&type=template&id=47b12f92\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSupport.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidSwitchHorizontal.vue?vue&type=template&id=3bcbb2f1\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSwitchHorizontal.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidSwitchVertical.vue?vue&type=template&id=b8a4bab4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidSwitchVertical.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidTable.vue?vue&type=template&id=2d5105a1\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTable.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidTag.vue?vue&type=template&id=19b7f657\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTag.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidTemplate.vue?vue&type=template&id=929976b4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTemplate.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidTerminal.vue?vue&type=template&id=541615e8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTerminal.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidThumbDown.vue?vue&type=template&id=0f6e73d4\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidThumbDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidThumbUp.vue?vue&type=template&id=5cf00f50\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidThumbUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidTicket.vue?vue&type=template&id=8a345374\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTicket.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidTranslate.vue?vue&type=template&id=b24bdfce\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTranslate.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidTrash.vue?vue&type=template&id=1e3864e8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTrash.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidTrendingDown.vue?vue&type=template&id=272c8038\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTrendingDown.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidTrendingUp.vue?vue&type=template&id=57d2107e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTrendingUp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidTruck.vue?vue&type=template&id=5ac59f1a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidTruck.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidUpload.vue?vue&type=template&id=fdea4efe\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidUpload.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidUser.vue?vue&type=template&id=481da53e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidUser.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidUserAdd.vue?vue&type=template&id=050aea75\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidUserAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidUserCircle.vue?vue&type=template&id=0ed5d6c8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidUserCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidUserGroup.vue?vue&type=template&id=aba846c2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidUserGroup.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidUserRemove.vue?vue&type=template&id=568f5ae8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidUserRemove.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidUsers.vue?vue&type=template&id=797b3b65\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidUsers.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidVariable.vue?vue&type=template&id=46afa813\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidVariable.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidVideoCamera.vue?vue&type=template&id=a938e6b2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidVideoCamera.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidViewBoards.vue?vue&type=template&id=6336c012\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidViewBoards.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidViewGrid.vue?vue&type=template&id=905138be\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidViewGrid.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidViewGridAdd.vue?vue&type=template&id=189d07ba\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidViewGridAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidViewList.vue?vue&type=template&id=6e52e426\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidViewList.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidVolumeOff.vue?vue&type=template&id=7cad67c0\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidVolumeOff.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidVolumeUp.vue?vue&type=template&id=757b576c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidVolumeUp.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidWifi.vue?vue&type=template&id=bf3b1d00\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidWifi.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidX.vue?vue&type=template&id=91a3df90\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidX.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidXCircle.vue?vue&type=template&id=9ef9c662\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidXCircle.vue\"]])\n\nexport default __exports__",";\n\n","import { render } from \"./HeroiconsSolidZoomIn.vue?vue&type=template&id=394bb42a\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidZoomIn.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./HeroiconsSolidZoomOut.vue?vue&type=template&id=f55748c2\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"HeroiconsSolidZoomOut.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconBooleanOption.vue?vue&type=template&id=48b807ec\"\nimport script from \"./IconBooleanOption.vue?vue&type=script&lang=js\"\nexport * from \"./IconBooleanOption.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconBooleanOption.vue\"]])\n\nexport default __exports__","import script from \"./CopyIcon.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CopyIcon.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"CopyIcon.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconBold.vue?vue&type=template&id=4e716c14\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconBold.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconFullScreen.vue?vue&type=template&id=4524cd98\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconFullScreen.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconImage.vue?vue&type=template&id=2da49ae1\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconImage.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconItalic.vue?vue&type=template&id=c52eaae8\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconItalic.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconLink.vue?vue&type=template&id=41b63b69\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconLink.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./ErrorPageIcon.vue?vue&type=template&id=13b41194\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"ErrorPageIcon.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./Icon.vue?vue&type=template&id=5d8d4375\"\nimport script from \"./Icon.vue?vue&type=script&lang=js\"\nexport * from \"./Icon.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"Icon.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconAdd.vue?vue&type=template&id=d03962a6\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconAdd.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconArrow.vue?vue&type=template&id=cdfea438\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconArrow.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IconBoolean.vue?vue&type=template&id=3fc70fec\"\nimport script from \"./IconBoolean.vue?vue&type=script&lang=js\"\nexport * from \"./IconBoolean.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconBoolean.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconCheckCircle.vue?vue&type=template&id=b3649e9e\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconCheckCircle.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconDelete.vue?vue&type=template&id=0fce6338\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconDelete.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconDownload.vue?vue&type=template&id=59fb9388\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconDownload.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconEdit.vue?vue&type=template&id=8d935c94\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconEdit.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconFilter.vue?vue&type=template&id=673519a1\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconFilter.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconForceDelete.vue?vue&type=template&id=017ccc5f\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconForceDelete.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconHelp.vue?vue&type=template&id=8b453d28\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconHelp.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconMenu.vue?vue&type=template&id=a3d14e86\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconMenu.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconMore.vue?vue&type=template&id=63f56ade\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconMore.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconPlay.vue?vue&type=template&id=6247402c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconPlay.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconRefresh.vue?vue&type=template&id=6e7513bb\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconRefresh.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconRestore.vue?vue&type=template&id=768ad011\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconRestore.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconSearch.vue?vue&type=template&id=44707092\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconSearch.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconView.vue?vue&type=template&id=16a09d52\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconView.vue\"]])\n\nexport default __exports__","\n","import { render } from \"./IconXCircle.vue?vue&type=template&id=bce6be7c\"\nconst script = {}\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IconXCircle.vue\"]])\n\nexport default __exports__","import script from \"./Loader.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./Loader.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"Loader.vue\"]])\n\nexport default __exports__","\n\n\n\n\n","import script from \"./ImageLoader.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./ImageLoader.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"ImageLoader.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./IndexEmptyDialog.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./IndexEmptyDialog.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"IndexEmptyDialog.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IndexErrorDialog.vue?vue&type=template&id=6798e256\"\nimport script from \"./IndexErrorDialog.vue?vue&type=script&lang=js\"\nexport * from \"./IndexErrorDialog.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IndexErrorDialog.vue\"]])\n\nexport default __exports__","\n\n\n","import script from \"./CharacterCounter.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./CharacterCounter.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"CharacterCounter.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./IndexSearchInput.vue?vue&type=template&id=5ec207cc\"\nimport script from \"./IndexSearchInput.vue?vue&type=script&lang=js\"\nexport * from \"./IndexSearchInput.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"IndexSearchInput.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./RoundInput.vue?vue&type=template&id=79e0a05e\"\nimport script from \"./RoundInput.vue?vue&type=script&lang=js\"\nexport * from \"./RoundInput.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"RoundInput.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./SearchInput.vue?vue&type=template&id=83aca1f6\"\nimport script from \"./SearchInput.vue?vue&type=script&lang=js\"\nexport * from \"./SearchInput.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"SearchInput.vue\"]])\n\nexport default __exports__","import script from \"./SearchInputResult.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SearchInputResult.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"SearchInputResult.vue\"]])\n\nexport default __exports__","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n","import script from \"./SearchSearchInput.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./SearchSearchInput.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"SearchSearchInput.vue\"]])\n\nexport default __exports__","import script from \"./LensSelector.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LensSelector.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"LensSelector.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./LicenseWarning.vue?vue&type=template&id=3232920c\"\nimport script from \"./LicenseWarning.vue?vue&type=script&lang=js\"\nexport * from \"./LicenseWarning.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"LicenseWarning.vue\"]])\n\nexport default __exports__","\n\n\n","import { render } from \"./LoadingCard.vue?vue&type=template&id=3d565040\"\nimport script from \"./LoadingCard.vue?vue&type=script&lang=js\"\nexport * from \"./LoadingCard.vue?vue&type=script&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__file',\"LoadingCard.vue\"]])\n\nexport default __exports__","import script from \"./LoadingView.vue?vue&type=script&setup=true&lang=js\"\nexport * from \"./LoadingView.vue?vue&type=script&setup=true&lang=js\"\n\nimport exportComponent from \"/Users/david/Documents/GitHub/nova/node_modules/vue-loader/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['__file',\"LoadingView.vue\"]])\n\nexport default __exports__","import { ref, computed, watch, nextTick } from 'vue'\nimport CodeMirror from 'codemirror'\nimport each from 'lodash/each'\nimport isNil from 'lodash/isNil'\nimport { useLocalization } from '@/composables/useLocalization'\n\nconst { __ } = useLocalization()\n\nconst defineMarkdownCommands = (\n editor,\n { props, emit, isFocused, filesCount, filesUploaded }\n) => {\n const doc = editor.getDoc()\n\n return {\n setValue(value) {\n doc.setValue(value)\n this.refresh()\n },\n\n focus() {\n isFocused.value = true\n },\n\n refresh() {\n nextTick(() => editor.refresh())\n },\n\n insert(insertion) {\n let cursor = doc.getCursor()\n\n doc.replaceRange(insertion, {\n line: cursor.line,\n ch: cursor.ch,\n })\n },\n\n insertAround(start, end) {\n if (doc.somethingSelected()) {\n const selection = doc.getSelection()\n\n doc.replaceSelection(start + selection + end)\n } else {\n let cursor = doc.getCursor()\n\n doc.replaceRange(start + end, {\n line: cursor.line,\n ch: cursor.ch,\n })\n\n doc.setCursor({\n line: cursor.line,\n ch: cursor.ch + start.length,\n })\n }\n },\n\n insertBefore(insertion, cursorOffset) {\n if (doc.somethingSelected()) {\n const selects = doc.listSelections()\n selects.forEach(selection => {\n const pos = [selection.head.line, selection.anchor.line].sort()\n\n for (let i = pos[0]; i <= pos[1]; i++) {\n doc.replaceRange(insertion, { line: i, ch: 0 })\n }\n\n doc.setCursor({ line: pos[0], ch: cursorOffset || 0 })\n })\n } else {\n let cursor = doc.getCursor()\n\n doc.replaceRange(insertion, {\n line: cursor.line,\n ch: 0,\n })\n doc.setCursor({\n line: cursor.line,\n ch: cursorOffset || 0,\n })\n }\n },\n\n uploadAttachment(file) {\n if (!isNil(props.uploader)) {\n filesCount.value = filesCount.value + 1\n\n const placeholder = `![Uploading ${file.name}…]()`\n\n this.insert(placeholder)\n\n props.uploader(file, {\n onCompleted: url => {\n let value = doc.getValue()\n value = value.replace(placeholder, `![${file.name}](${url})`)\n\n doc.setValue(value)\n emit('change', value)\n\n filesUploaded.value = filesUploaded.value + 1\n },\n onFailure: error => {\n filesCount.value = filesCount.value - 1\n },\n })\n }\n },\n }\n}\n\nconst defineMarkdownActions = (commands, { isEditable, isFullScreen }) => {\n return {\n bold() {\n if (!isEditable) return\n\n commands.insertAround('**', '**')\n },\n\n italicize() {\n if (!isEditable) return\n\n commands.insertAround('*', '*')\n },\n\n image() {\n if (!isEditable) return\n\n commands.insertBefore('![](url)', 2)\n },\n\n link() {\n if (!isEditable) return\n\n commands.insertAround('[', '](url)')\n },\n\n toggleFullScreen() {\n isFullScreen.value = !isFullScreen.value\n\n commands.refresh()\n },\n\n fullScreen() {\n isFullScreen.value = true\n\n commands.refresh()\n },\n\n exitFullScreen() {\n isFullScreen.value = false\n\n commands.refresh()\n },\n }\n}\n\nconst defineMarkdownKeyMaps = (editor, actions) => {\n const keyMaps = {\n 'Cmd-B': 'bold',\n 'Cmd-I': 'italicize',\n 'Cmd-Alt-I': 'image',\n 'Cmd-K': 'link',\n F11: 'fullScreen',\n Esc: 'exitFullScreen',\n }\n\n each(keyMaps, (action, map) => {\n const realMap = map.replace(\n 'Cmd-',\n CodeMirror.keyMap['default'] == CodeMirror.keyMap.macDefault\n ? 'Cmd-'\n : 'Ctrl-'\n )\n\n editor.options.extraKeys[realMap] = actions[keyMaps[map]].bind(this)\n })\n}\n\nconst defineMarkdownEvents = (editor, commands, { props, emit, isFocused }) => {\n const doc = editor.getDoc()\n\n const handlePasteFromClipboard = e => {\n if (e.clipboardData && e.clipboardData.items) {\n const items = e.clipboardData.items\n\n for (let i = 0; i < items.length; i++) {\n if (items[i].type.indexOf('image') !== -1) {\n commands.uploadAttachment(items[i].getAsFile())\n\n e.preventDefault()\n }\n }\n }\n }\n\n editor.on('focus', () => (isFocused.value = true))\n editor.on('blur', () => (isFocused.value = false))\n\n doc.on('change', (cm, changeObj) => {\n if (changeObj.origin !== 'setValue') {\n emit('change', cm.getValue())\n }\n })\n\n editor.on('paste', (cm, event) => {\n handlePasteFromClipboard(event)\n })\n\n watch(isFocused, (currentValue, oldValue) => {\n if (currentValue === true && oldValue === false) {\n editor.focus()\n }\n })\n}\n\nconst bootstrap = (\n theTextarea,\n {\n emit,\n props,\n isEditable,\n isFocused,\n isFullScreen,\n filesCount,\n filesUploaded,\n unmountMarkdownEditor,\n }\n) => {\n const editor = CodeMirror.fromTextArea(theTextarea.value, {\n tabSize: 4,\n indentWithTabs: true,\n lineWrapping: true,\n mode: 'markdown',\n viewportMargin: Infinity,\n extraKeys: {\n Enter: 'newlineAndIndentContinueMarkdownList',\n },\n readOnly: props.readonly,\n })\n\n const doc = editor.getDoc()\n\n const commands = defineMarkdownCommands(editor, {\n props,\n emit,\n isFocused,\n filesCount,\n filesUploaded,\n })\n const actions = defineMarkdownActions(commands, { isEditable, isFullScreen })\n\n defineMarkdownKeyMaps(editor, actions)\n\n defineMarkdownEvents(editor, commands, { props, emit, isFocused })\n\n commands.refresh()\n\n return {\n editor,\n unmount: () => {\n editor.toTextArea()\n unmountMarkdownEditor()\n },\n actions: {\n ...commands,\n ...actions,\n handle(context, action) {\n if (!props.readonly) {\n isFocused.value = true\n actions[action].call(context)\n }\n },\n },\n }\n}\n\nexport function useMarkdownEditing(emit, props) {\n const isFullScreen = ref(false)\n const isFocused = ref(false)\n const previewContent = ref('')\n const visualMode = ref('write')\n const statusContent = ref(\n __('Attach files by dragging & dropping, selecting or pasting them.')\n )\n const filesCount = ref(0)\n const filesUploaded = ref(0)\n\n const isEditable = computed(\n () => props.readonly && visualMode.value == 'write'\n )\n\n const unmountMarkdownEditor = () => {\n isFullScreen.value = false\n isFocused.value = false\n visualMode.value = 'write'\n previewContent.value = ''\n filesCount.value = 0\n filesUploaded.value = 0\n }\n\n if (!isNil(props.uploader)) {\n watch(\n [filesUploaded, filesCount],\n ([currentFilesUploaded, currentFilesCount]) => {\n if (currentFilesCount > currentFilesUploaded) {\n statusContent.value = __('Uploading files... (:current/:total)', {\n current: currentFilesUploaded,\n total: currentFilesCount,\n })\n } else {\n statusContent.value = __(\n 'Attach files by dragging & dropping, selecting or pasting them.'\n )\n }\n }\n )\n }\n\n return {\n createMarkdownEditor: (context, theTextarea) => {\n return bootstrap.call(context, theTextarea, {\n emit,\n props,\n isEditable,\n isFocused,\n isFullScreen,\n filesCount,\n filesUploaded,\n unmountMarkdownEditor,\n })\n },\n isFullScreen,\n isFocused,\n isEditable,\n visualMode,\n previewContent,\n statusContent,\n }\n}\n","